这是因为IE对盒之间距离的解释的bug造成的.
!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权(参见:W3.org的解释)。
语法格式{ sRule!important },直接写在定义的最后面,如:
p{color:green !important;}
注意:IE一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别给FF和IE浏览器样式定义。
<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;的高度。
在IE中浏览时候,不能够理解!important的优先级,因此显示height:18px;的高度。
利用!important,我们可以针对IE和IE以外浏览器设置不同的样式,只要在IE以外浏览器样式的后面加上!important。
请记住!important、掌握!important、并合理的加以利用!important,它将会为你的CSS布局起到意想不到的效果!
<a href="http://www.iwester.com/web/htmlcss/10.html">原文</a>