关于使用 CSS 指定所选文本颜色的一些问题:
假设浏览器实现的默认 CSS 中存在如下规则:
::selection { background-color: Highlight; color: HighlightText; }
进一步想象在任何特定于站点的创作样式表中定义了如下规则:
body { background-color: white }
鉴于这些规则,
background-color
选定的正文将是什么?会是white
,还是Highlight
?也许作者样式表中的规则应该覆盖默认规则:因为根据具体性,
body
它与稍后指定的一样具体::selection
(因此应该覆盖先前的条目)。另一方面,这将导致文本在被选中时不可见(因为如果
Highlight
是蓝色且HighlightText
为白色,则所选文本为蓝底白字,然后覆盖background-color
所选文本使其为白色将导致其为白色-白色)。假设步骤 2 中的行为是不可取的,如何避免呢?
假设这是用户样式表中的一个错误,不应该在没有指定的
background-color
情况下指定color
?假设除了伪元素被指定为选择器的一部分之外,这
body
不是所选正文的匹配项?::selection