为什么不能使用body::selection
,当我想要任何可以突出显示为我想要的颜色时,任何东西都包括 p img li h1
这里的例子现在我希望所有突出显示为红色,但我正在使用body::selection
,它永远不会工作
为什么不能使用body::selection
,当我想要任何可以突出显示为我想要的颜色时,任何东西都包括 p img li h1
这里的例子现在我希望所有突出显示为红色,但我正在使用body::selection
,它永远不会工作
如果要将选择背景应用于所有元素,请省略类型选择器:
::selection {
background: red;
}
就此而言,添加::-moz-selection
它也可以在 Firefox 中使用:
::-moz-selection {
background: red;
}
::selection {
background: red;
}
从来没有决定你E::selection
为任何元素设置的样式E
应该如何传播给E
. www-style mailing list 中有更深入的讨论。也正是因为这个原因,::selection
在 CSS3 UI 的最新 LC 修订版中完全从 CSS3 中删除了;请参阅本节,其中说:
::selection 伪元素已被删除,因为它在测试发现互操作性问题和进一步探索/定义的细节后从选择器中删除。
我最好的猜测是浏览器(至少是 Firefox)只是不会将相同的规则应用于后代元素。因此,如果您将伪元素应用于body
,则只有body
文本将具有自定义选择背景;嵌套在其中的所有内容都没有选择背景。
如果要停止级联,可以添加
body *::selection { background: inherit; }
所以只有顶层的文本会被选择为红色。示例:http: //jsfiddle.net/nu6ju/4/