关于使用 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