日期:2014-05-16  浏览次数:20672 次

为什么这个css箭头不能显示?
我发现下面这段代码在IE8,IE9,firefox下面运行的很好,但运行在IE7下面,那个向上的箭头就不见了,请大家帮我看看是什么原因,谢谢。

<style>
.arrow_box {
position: relative;
background: #88b7d5;
border: 4px solid #c2e1f5;
}
.arrow_box:after, .arrow_box:before {
bottom: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}

.arrow_box:after {
border-color: rgba(136, 183, 213, 0);
border-bottom-color: #88b7d5;
border-width: 30px;
left: 50%;
margin-left: -30px;
}
.arrow_box:before {
border-color: rgba(194, 225, 245, 0);
border-bottom-color: #c2e1f5;
border-width: 36px;
left: 50%;
margin-left: -36px;
}
</style>
<br/>
<br/>
<br/>
<div class="arrow_box"><h1 class="logo">css arrow please!</h1></div>

------解决方案--------------------
兼容性问题,只有ie8以上版本支持伪类:after和:before,参考这里http://msdn.microsoft.com/zh-cn/library/cc304076.aspx
------解决方案--------------------
+1 如果要写在一起的兼容 最好不要用before