Как совместить этот CSS? - PullRequest
       21

Как совместить этот CSS?

1 голос
/ 26 марта 2010
.box_content ::selection {
 background:#CCCC33; /* Safari */
}
.box_content ::-moz-selection {
 background:#CCCC33; /* Firefox */
}

Кто-нибудь знает, могу ли я объединить такие как этот

.box_content ::selection .box_content ::-moz-selection {
 background:#CCCC33;
}

Или, может быть, как:

.box_content ::selection, .box_content ::-moz-selection {
 background:#CCCC33;
}

Ответы [ 4 ]

1 голос
/ 26 марта 2010

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

Так дано:

selector-rule1, selector-rule2 {
    style-x;
    style-y;
}

Это будет применяться style-x & style-y ко всему, что соответствует или selector-rule1 или selector-rule2.


Просто чтобы объяснить, почему ваш первый пример не сработает, потому что spaces подразумевает отношения предок-потомок, поэтому если у вас есть:

selector-rule4 selector-rule4 {
    style-z;
}

Тогда style-z будет применяться ко всему, что соответствует selector-rule4, если оно также является предком чего-то, что соответствует selector-rule3.

Подробнее о селекторах здесь .

0 голосов
/ 26 марта 2010

Ваш второй пример не может работать , потому что браузер должен игнорировать полное правило:

Когда пользовательский агент не может проанализировать селектор (то есть, это не действительный CSS 2.1), он должен игнорировать селектор и следующий блок объявления (если любой) а также.

Opera и Webkit не могут анализировать проприетарный селектор Gecko, а Gecko не может анализировать обычный :: selection. Таким образом, правило никогда не будет применено.

0 голосов
/ 26 марта 2010

Вам нужно использовать запятую для группировки селекторов:

.box_content ::selection, .box_content ::-moz-selection {
   background:#CCCC33;
}
0 голосов
/ 26 марта 2010

Ваш второй пример должен работать нормально.

...