当您选择此文本时,您将看到一个蓝色的选择字段。但这不是我的问题的重点。选择此文本后,如果您使用的是 PC,实际文本的颜色将变为白色。在 Mac 上,它保持以前的颜色。这就是我想要改变的颜色。
有没有跨浏览器的解决方案?
您可以使用::selection
伪选择器:
::selection {
background: rgb(60, 60, 60);
color: rgb(245, 245, 245);
}
::-moz-selection {
background: rgb(60, 60, 60);
color: rgb(245, 245, 245);
}
由于解析规则,您需要复制您的 CSS 并重新添加前缀:
Gecko 是唯一需要前缀的引擎。由于 CSS 解析规则需要在遇到无效伪元素时删除整个规则,因此必须编写两个单独的规则:
::-moz-selection, ::selection {...}
. 该规则将在非 Gecko 浏览器上被删除,因为::-moz-selection
它们对它们无效。
演示:http: //jsfiddle.net/Blender/Hs7bQ/
我已经更新了小提琴,因为你不能把两个选择器放在一个。-moz-selection 必须是它自己的。 更新了 jsFiddle