在选择时更改边框颜色

时间:2011-06-20 00:07:10

标签: css css3 webkit mozilla pseudo-element

我正在尝试使用::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

1 个答案:

答案 0 :(得分:2)

您无法为文本选择定义border个样式。

尝试定义outline(它将成为old specSitePoint Reference中所述的允许属性之一):

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

如果这不起作用,那么我担心浏览器不支持::selection上的大纲。

请记住::selection has been move out of the Selectors spec,其余的CSS级别3仍然是草稿,因此您不能依赖正确/完全实现它的浏览器。