这是因为IE对盒之间距离的解释的bug造成的。!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权(参见:W3.org的解释)。IE一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别给FF和IE浏览器样式定义。
语法格式{ sRule!important },直接写在定义的最后面,如:
p{color:green !important;}
以下是代码片段:
<html>
<head>
<style type="text/css">
#box {
height:30px!important;
height:18px;
border:1px solid #000
}
</style>
</head>
<body>
<span id="box">!important</span>
</body>
</html>
在Mozilla中浏览时候,能够理解!important的优先级,因此显示height:30px;的高度。