1

我正在尝试通过使用::selection::-moz-selection伪元素来修改默认选择样式。我已经使用以下两条规则成功更改了选择颜色和背景:

::-moz-selection{ background: #444; color:#fff; text-shadow: none; }
::selection { background:#444; color:#fff; text-shadow: none; } 

但是,我还需要border-color在选择链接时将其更改为白色。我正在尝试使用此 CSS 来完成此操作:

a::-moz-selection { border-color:#FFF;}
a::selection {border-color:#FFF; }

即使我添加了!important覆盖,Safari 也不会设置边框颜色的样式。

我错过了什么?为什么我不能更改链接的border-color选择?

4

1 回答 1

3

您不能border为文本选择定义样式。

尝试定义一个代替(它将成为旧规范SitePoint Referenceoutline中所述的允许属性之一):

a::-moz-selection { outline: 1px solid #fff; }
a::selection { outline: 1px solid #fff; }

如果这不起作用,那么恐怕浏览器不支持::selection.

请记住,::selection它已经从 Selectors 规范中移出, CSS level 3 的其余部分仍然是草案,所以你不能依赖浏览器正确/完全地实现它。

于 2011-06-20T00:08:53.057 回答