【发布时间】:2012-06-19 23:42:05
【问题描述】:
问题
在-webkit- 和-moz- 浏览器中使用以下内容根本无法正常工作:
#exampleElement {
background-color: red; /* For example */
}
#exampleElement ::selection {
color: black;
background-color: white;
}
结果:支持 WebKit 和 Blink 的浏览器
在 Chrome、Opera 和 Safari 中,::selection 的 background-color 呈现为 50% 的 alpha 但字体颜色正确。
Chrome 29.0.1547.62:
Opera 15.0.1147.130:
Safari 5.34.57.2:
结果:Gecko 驱动的浏览器
在 Firefox 中,整个 ::selection 规则被忽略。 ::selection 的 background-color 恰好是白色的,因为 #exampleElement 的黑暗 background-color (感谢@BoltClock 注意到这一点)
Firefox 22.0:
结果:支持 Trident 的浏览器
在 Internet Explorer 中,(您相信吗)一切都完美呈现。
Internet Explorer 10.0.9200.16660:
这只是这些渲染引擎/浏览器的一个缺陷,还是有我不知道的 -webkit- 和 -moz- 替代方案?
我在 jsFiddle 上保存了一个示例,供人们查看:http://jsfiddle.net/BWGJ2/
【问题讨论】:
-
是的,看起来很神奇,IE9 确实可以工作!
-
Firefox 实际上忽略了整个
::selection规则 - 如果它确定父背景足够暗而不能使用蓝色作为其默认高亮背景,则它发生为白色背景。 -
@BoltClock 很好的定位。我会更新我的问题。
标签: css google-chrome firefox selection background-color