不知道为什么:以前不行。我的IE8浏览器将在此页面上正确显示:
http://quirksmode.org/css/selectors/beforeafter.html
但不是在我在此页面上执行此操作时:
答案 0 :(得分:1)
IE8支持:before
。
两种可能性:
IE正在以兼容模式或怪癖模式呈现页面。
这些模式中的任何一种都将禁用此功能。添加有效的文档类型并将X-UA-Compatible
设置为IE=edge
以处理此问题。
您使用的是::before
而不是:before
。
这是一个非常微妙的问题。正确的语法是双冒号,但在IE8发布时,它是一个冒号;官方语法随后发生了变化。所有现代浏览器都会接受::before
和::after
的单冒号或双冒号以适应这种历史变化,但IE8仅支持单冒号。
答案 1 :(得分:0)
只要您不处于兼容模式,它就可以正常工作。如果您希望它支持更多,我可能会推荐以下内容:
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
答案 2 :(得分:0)
删除::before
和::after
选择器似乎可以在IE8中运行:
p.test:before {
padding-right: 5px;
content: url(http://quirksmode.org/pix/logo_ppk.gif);
}
p.test:after {
font-style: italic;
content: " and some text after.";
}