有关使用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
伪元素被指定为选择器的一部分?