我有一个非常具体的问题,因为我试图创建一个导航,使用纯粹的CSS没有图像或JavaScript的角度。我已经弄明白了,所以它可以很好地工作,但我遇到的问题是IE 9和Chrome看起来不一样。我可以通过改变伪元素的边界来让它们工作,但我更喜欢单个解决方案在两者中工作。如果任何人都能弄清楚为什么边距不同,并给我一个单一的CSS解决方案在两个浏览器中工作,那将是非常棒的。否则,我将不得不为IE添加一个单独的类,并强制它使用单独的CSS条目工作。CSS伪元素:之前和:在Internet Explorer中以不同的方式工作
这里是的jsfiddle与arrow-nav
这里工作,是HTML
<ul>
<li><a href="#" >Some Navigation</a></li>
<li><a href="#">More navigation</a></li>
<li><a href="#">Another Nav</a></li>
<li><a href="#">Test Nav</a></li>
<li><a href="#">A Test Navigation</a></li>
</ul>
的CSS
ul {
float:right;
list-style-type:none;
margin:0;
padding:0;
width: 300px;
}
ul li a {
float:left;
width:300px;
}
ul li{
float:left;
width: 300px;
height:50px;
line-height:50px;
text-indent:10%;
background: grey;
margin-bottom:10px;
border:1px solid black;
}
ul li:before {
content:"";
position:absolute;
margin-top:-1px;
border-top: 26px solid transparent;
border-bottom: 26px solid transparent;
border-right: 21px solid black;
margin-left:-22px;
}
ul li:after {
content:"";
position:absolute;
border-top: 25px solid transparent;
border-bottom: 25px solid transparent;
border-right: 20px solid grey;
margin-left:-320px;
}
你有没有使用CSS复位样式表来减少/消除跨浏览器的默认设置? – 2013-04-23 16:17:55
我无法在IE7或8以及Mozilla浏览器中使用它。这是一大块用户!这是为了内部的东西吗?如果是这样,用户机器上是否有标准安装模块/插件?只是为了防止这种情况发生在经常改变浏览器的公司内部网站上。 – 2013-04-23 16:23:29
':之前'和':之后'工作在IE8(但不是IE7) - http://caniuse.com/#feat=css-gencontent。在IE8 + – ryanbrill 2013-04-23 16:29:56