Подтвердить что ты не робот

Стиль CSS для элемента, который имеет класс A и класс B

Мне нужно создать элемент, который имеет как класс "a", так и класс "b". Как это сделать?

Порядок появления классов в html может отличаться.

<style>
div.a ? div.b{
color:#f00;
}
</style>
<div class="a">text not red</div>
<div class="b">text not red</div>
<div class="a b">red text</div>
<div class="b a">red text</div>
4b9b3361

Ответ 1

Это вполне возможно. Если вы укажете два класса в элементе (без каких-либо пробелов), это означает, что он должен иметь как правило для применения.

div.a {
  color: blue;
}
div.b {
  color: green;
}
div.a.b {
  color: red;
}
<div class="a">
  A
</div>
<div class="b">
  B
</div>
<div class="a b">
  AB
</div>

Ответ 2

Селектора классов могут комбинироваться:

div.a.b {
  color: red;
}

Цитата из спецификация:

Чтобы соответствовать подмножеству значений класса, каждому значению должно предшествовать ".".

Например, следующее правило соответствует любому элементу P, чей атрибут "class" присваивается список значений, разделенных пробелами, которые включают "пастырский" и "морской":

p.marine.pastoral { color: green }

Это правило соответствует class="pastoral blue aqua marine", но не соответствует для class="pastoral blue".

Ответ 3

div[class~="a"][class~="b"]{
color:#f00;
}

Ответ 4

/* выберите тег div, имеющий класс a и b вместе */

 <style>
    div.a.b
    { 
         color:#f00;
    }
    </style>
    <div class="a">text not red</div>
    <div class="b">text not red</div>
    <div class="a b">red text</div>
    <div class="b a">red text</div>

Ответ 5

Да, используйте общий класс, или почему бы нет, JavaScript, если содержимое динамически изменяется