Если вы хотите применить фон выделения ко всем элементам, опустите селектор типа:
::selection {
background: red;
}
И добавьте ::-moz-selection
, чтобы он работал и в Firefox:
::-moz-selection {
background: red;
}
::selection {
background: red;
}
Никогда не было решено, как именно стили, заданные для E::selection
для любого элемента E
, должны распространяться на потомков E
. В списке рассылки в стиле www содержится более подробное обсуждение . Именно по этой причине ::selection
полностью исключен из CSS3 с последней версией LC CSS3 UI; см. этот раздел , в котором говорится:
Псевдоэлемент :: selection был удален, так как он был удален из селекторов после того, как тестирование обнаружило проблемы взаимодействия и дополнительную информацию для изучения / определения.
Мне кажется, что браузеры (по крайней мере, Firefox) просто не применяют одно и то же правило к дочерним элементам. Таким образом, если вы примените псевдоэлемент к body
, то только текст body
будет иметь пользовательский фон выбора; все вложенное в него не будет иметь фона выделения.