Браузеры expected уронить все правила, если какая-либо часть селектора недействительно:
Селектор (см также раздел селекторы) состоит из всего до (но не включая) первый слева изогнутая скобка ({). Селектор всегда идет вместе с блоком декларации. Когда пользовательский агент не может разобрать селектор (т. Е. Он недействителен CSS 2.1), он должен игнорировать селектор и следующий блок объявлений (если есть).
В CSS 2.1 особое значение имеет запятая (,) в селекторах. Однако, поскольку неизвестно, может ли запятая получить другие значения в будущих обновлениях CSS, весь оператор следует игнорировать, если в селекторе есть ошибка, хотя остальная часть селектора может выглядеть разумно в CSS 2.1.
(Обратите внимание, что, насколько браузер обеспокоен, «действует CSS 2.1» на самом деле означает «селектор, который понятен и поддерживается браузером».)
Поскольку без Mozilla браузеров не понимаете, ::-moz-selection
, они должны отказаться от правила. Поскольку браузеры Mozilla не понимают ::selection
, они также должны отказаться от правила. Это потерянная ситуация (и другая причина, почему префиксы громоздки, особенно в селекторах).
Для справки, я удивлен, что это больше не работает в Chrome (по крайней мере, в версии 25 на Windows, как я только что протестировал). Раньше упорно разобрать селектор p::selection, p::-moz-selection
как просто p::selection
и применить правило, вместо того, чтобы следовать спецификации, и разработчики были причины сделать это так. Интересно, что изменилось ...
Некоторые браузеры просто странные реализации. То же самое для полноэкранного селектора. – alex
Я думаю, потому что IE не распознает 'moz' и то же самое для других браузеров. –
и Chrome и Firefox не работают http://jsfiddle.net/l2aelba/MRyVC/1/ – l2aelba