Если вы хотите применить фон выбора для всех элементов, опустить селектор типа:
::selection {
background: red;
}
И по этому вопросу, добавить ::-moz-selection
поэтому он работает в Firefox тоже:
::-moz-selection {
background: red;
}
::selection {
background: red;
}
Это никогда не было принято решение о том, как именно стили вы установили для E::selection
для любого элемента E
должны распространяться на потомки E
. Есть более углубленное обсуждение in the www-style mailing list. Именно по этой причине ::selection
был полностью исключен из CSS3 с последней версией LC для CSS3 UI; см this section, который говорит:
:: Выбор псевдо-элемент уронил, так как он был исключен из селекторов после тестирования обнаружило проблемы совместимости и дополнительные детали для изучения/определить.
Мое лучшее предположение, что браузеры (по крайней мере, Firefox) просто не применяют одно и то же правило к элементам-потомкам. Поэтому, если вы применяете псевдоэлемент к body
, тогда только текст body
будет иметь собственный фон выбора; все вложенное внутри него не будет иметь фон выбора.
В чем Ваш вопрос? пример работает как шарм: 'body :: selection {background-color: red; } 'делает именно то, что он должен делать. – c69
мой вопрос, почему он меняет цвет img p li h1 на красный цвет? –
потому что все гнездо внутри тега тела –