如何移除或禁用before和after伪类?

11

这似乎非常琐碎,但我无法解决它。在IE8上,仅使用display:none进行覆盖不起作用。

#selector::after {
    display: none;
}

我正在修改一个使用before和after伪类来添加图像精灵的主题。


双冒号用于表示伪元素,而不是伪类。实际上,引入双冒号的整个目的就是这样。 - BoltClock
2个回答

32

仅使用一个冒号

#selector:after {
    display: none;
}

1

W3C规范指出,在CSS3中,所有的伪元素如::before::after必须使用双冒号语法,但是:

为了与现有样式表兼容,用户代理还必须接受CSS级别1和2中引入的伪元素的以前的单冒号符号表示法(即:first-line:first-letter:before:after)。

所以在您的情况下请使用单冒号符号表示法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接