关于::selection伪类

为了保持网页风格的统一,我们常用::selection伪类来控制被选中目标的颜色,但在使用时有几个注意点:

::selection不会被W3C验证通过

::selection几乎被所有主流浏览器支持,但其并不属于W3C标准

::selection只有两个属性

::selection只支持background和color两个属性

部分浏览器不支持::selection

Firefox浏览器(包含最新版)不支持::selection,其独有写法为::-moz-selection
IE8及以下版本不支持::selection

::-moz-selection与::selection不可写在一起

1
::-moz-selection, ::selection { background: #333; color: #FFF; }

以上写法无法被Firefox浏览器识别,必须分开写:

1
2
::-moz-selection { background: #333; color: #FFF; }
::selection { background: #333; color: #FFF; }

::selection可单独作用于部分区域

如果全局使用,只需::selection即可。如果仅需要对于对象#demo生效,则使用#demo::selection

评论

  1. leslie
    leslie

    概念性错误啊,::selection 是伪元素,不是伪类。

    回复
    1. banri
      banri

      确实是概念错误,三年前的文章,那时候还很无知。。。囧

      回复