Как повторно использовать селектор CSS? - PullRequest
0 голосов
/ 26 января 2010

У меня есть следующий CSS:

.foo .bar {
   background: red;
}

Что отлично работает для следующего HTML:

<div class="foo">
    <div class="bar">I have a red background</div>
</div>

Но я не могу найти способ повторно использовать определение CSS, когда у меня нет отношений родитель / потомок. Например, как я могу применить тот же CSS к следующему DIV:

<div class="???">I want a red background!</div>

Ответы [ 6 ]

10 голосов
/ 26 января 2010

Вы можете добавить дополнительный селектор с запятой (,), как указано в Группировка селекторов W3C

.foo .bar, .foobar {
   background: red;
}

это будет работать в обоих

<div class="foo">
    <div class="bar">I have a red background</div>
</div>

и

<div class="foobar">I want a red background!</div>
7 голосов
/ 26 января 2010

Вы можете использовать запятую, чтобы указать несколько селекторов, к которым должно применяться правило CSS

.foo .bar, .??? {
   background: red;
}
1 голос
/ 26 января 2010

Используйте разделенный запятыми список селекторов в определении:

.foo .bar, .otherSelector, #someID{
    background: red;
}
0 голосов
/ 26 января 2010

Определение CSS ".foo .bar" написано специально для отношений родитель-потомок (точнее, предок-потомок).

Вы можете написать CSS следующим образом:

.alternate-background {
   background: red;
}

и HTML, как это:

<div>
    <div class="alternate-background">I have a red background</div>
</div>

, что позволит вам также использовать это:

<div class="alternate-background">I want a red background!</div>
0 голосов
/ 26 января 2010

Попробуйте

.foo .bar, .foobar {
   background: red;
}

с

<div class="foo">
    <div class="bar">I have a red background</div>
</div>

<div class="foobar">I want a red background!</div>
0 голосов
/ 26 января 2010
.foo .bar, .redback {
     background: red;
}

сотворит магию с

<div class="redback">I want a red background!</div>

или избавьтесь от иерархии и используйте только

.bar {
     background: red;
}

, который будет работать в обоих случаях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...