2012-01-17 41 views
1

长话短说,我想在另一个元素之后添加一个绝对定位的伪元素,所以我只是在我的样式表中使用了:after伪元素。除了IE7以外,这个功能很有魅力。我应该认为IE7支持:after,不是吗? Boilerplate中使用的clearfix黑客工作正常,那么为什么不在我的例子?支持:在IE7之后

当我在样式检查器中查看CSS时,它似乎打印出来了,所以它对我来说似乎是,它理解它,但我看不到生成的元素。我错过了什么吗?

.myclass:after { 
    content:""; 
    display:table; 
    width:100px; 
    height:100px; 
    background:#f7f7f7; 
    position:absolute; 
    top:0; 
    left:-1px; 
    z-index:0; } 
.myclass > div { 
    position:relative; 
    z-index:10; } 
.myclass { 
    z-index:1; 
    position:relative; } 

这是Fiddle

+1

[下面是与答案同样的问题] [1] [1]:http://stackoverflow.com/questions/4181884/after-and-before-css-pseudo-elements- hack-for-ie-7 – FlashTrava 2012-01-17 13:01:22

回答

3

no support在IE7 :before:after,还有,你可以使用像IE8.js其他选项。

+0

这是一个非常繁重的脚本来加载,仅此而已。然后,我发现奇怪的是,clearfix hack工作正常。 – Nix 2012-01-17 13:05:40

+0

@Nix这很奇怪,因为即使在微软网站上也没有说IE7支持它,http://msdn.microsoft.com/en-us/library/cc351024%28v=vs.85%29.aspx #pseudoelements – 2012-01-17 13:15:08

+0

@Nix刚刚看了一下你提到的clearfix黑客攻击,这就是为什么它在IE中工作的原因''/ *对于IE 6/7(触发hasLayout)*/ .cf { zoom:1; }' – 2012-01-17 13:20:05