Некоторые вопросы об использовании CSS для указания цвета выделенного текста:
-
https://developer.mozilla.org/En/CSS/::selection говорит, что
::selection
был разработан для CSS3 Селекторы, но удалены из текущий проект CSS3. Во всяком случае, это реализовано в браузерах и поддержке будет продолжаться.Почему это было удалено?
-
Представьте, что в CSS по умолчанию, реализованном браузером, существует такое же правило, как и следующее:
::selection { background-color: Highlight; color: HighlightText; }
Далее представьте, что правило, подобное приведенному ниже, определяется в любой специальной таблице стилей, определенной сайтом:
body { background-color: white }
Учитывая эти правила, каков будет цвет фона выбранного текста тела: было бы оно
white
илиHighlight
?Возможно, правило в таблице стилей автора должно переопределить правило по умолчанию: поскольку в соответствии со спецификой,
body
имеет такое же значение, как::selection
, и указан позже (и поэтому должен переопределять предыдущую запись).С другой стороны, это приведет к тому, что текст будет невидимым при его выборе (потому что если
Highlight
является синим, аHighlightText
- белым, чтобы выделенный текст был белым на синем, то переопределениеbackground-color
выделенного текста, чтобы он был белым, чтобы он был белым на белом). -
Предполагая, что поведение на шаге 2 нежелательно, как его избежать?
-
Скажите, что это ошибка в таблице стилей пользователя, которая никогда не должна указывать
background-color
без указанияcolor
? -
Скажите, что
body
не соответствует выбранному тексту тела, кроме случаев, когда псевдо-элемент::selection
указан как часть селектора?
-