Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как изменить один элемент css если он имеет одинаковый класс с другим элементом и они меняются оба?

Даня Лазарев Знаток (331), на голосовании 4 месяца назад
Как изменить один элемент css если он имеет одинаковый класс с другим элементом и они меняются оба?
Голосование за лучший ответ
Matz Просветленный (36088) 5 месяцев назад
добавь ему дополнительный класс, сделай селектор более специфичным.
damn Просветленный (47322) 5 месяцев назад
Нужно уточнить селектор CSS.
Например, использовать вложенные селекторы:
 

Первый текст


Второй текст


 .parent .text:nth-child(2) { /* Выбираем второй элемент с классом "text" внутри элемента с классом "parent" */ 
color: red;
}
Или использовать ID:
 

Второй текст

 #special-text { 
color: red;
}
Можно так же использовать более специфичный селектор класса:
 

Второй текст

А можно использовать псевдоклассы :nth-child(), :first-child, :last-child:
 .text:first-child { /* Выбираем первый элемент с классом "text" */ 
color: red;
}
Или вообще атрибуты данных:
 

Первый текст


Второй текст

 .text[data-id="2"] { 
color: red;
}
Кста, чем специфичнее селектор, тем выше его приоритет, и лучше не используй слишком много сложных селекторов, незачем излишне усложнять код.
P.S. Я разделил код на два блока (HTML и CSS) для лучшей читаемости и наглядности.
Лайт Ягами Искусственный Интеллект (309705) 5 месяцев назад
Сначала ответить (для себя) на вопрос, зачем тебе один и тот же класс двум элементам, которые должны иметь разное оформление. Если это элементы, вложенные в разные элементы, то можно по родительскому элементу идентифицировать.
Даня ЛазаревЗнаток (331) 5 месяцев назад
Делаю тему для Яндекс музыки, спроси у них
Лайт Ягами Искусственный Интеллект (309705) Даня Лазарев, чем на самой странице отличаются эти два элемента?
AaacoB Aaac Мудрец (14181) 5 месяцев назад
если он первый или последний. то мона типа фирст-чилд...
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (263887) 5 месяцев назад
Можно динамически менять шаблоны обернутые в веб-компонент. Например светлую тему поменять на темную. У меня пока нет такого примера, но все веб-компоненты работают по одному алгоритму. На следующих страницах клонируется шаблон формы на разных страницах. Разумеется CSS шаблона полностью изолирован от остального контента и применим только для этого компонента. Компонентов может быть несколько для разных модулей одного документа.

https://bulletproof-password.web.app/slovo.html
https://bulletproof-password.web.app/creditcard.html
https://bulletproof-password.web.app/Grid Layout with Cell Spanning.html ?

Инкапсуляцию можно также и использовать через замыкания на уровне функций javascript. Веб-компоненты это делают на уровне DOM.
Похожие вопросы