源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

用!important解决IE和Mozilla的布局差别

  • 时间:2020-10-17 06:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用!important解决IE和Mozilla的布局差别
在设计《网页设计师》页面的时候,有一个问题一直困扰着我,主菜单在IE和其他(Mozilla、Opera等)浏览器里显示的效果偏差2px。截图如下: IE中的效果 [img]http://www.webjx.com/upfiles/20050617/20050617084704_1.gif[/img] Mozilla Firefox中的效果 [img]http://www.webjx.com/upfiles/20050617/20050617084717_2.gif[/img] 这是因为IE对盒之间距离的解释的bug造成的(参考onestab的" [url=http://www.onestab.net/a/pie/floatmodel.html][u]浮动模型的问题[/u][/url] ")。我一直没有解决这个问题,直到我翻译 "[url=http://www.1sucai.cn/bbs/ShowPost.asp?id=208][u] 表格对决CSS--一场生死之战[/u][/url] "时,作者的一个技巧提示帮我找到了解决的方法:用!important。 !important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权(参见:[url=http://www.w3.org/TR/REC-CSS2/cascade.html#important-rules][u]W3.org的解释[/u][/url])。语法格式{ sRule!important },即写在定义的最后面,例如: box{color:red !important;} 最重要的一点是:IE一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别给IE和其他浏览器不同的样式定义,例如,我们定义这样一个样式:
.colortest { 
border:20px  solid #60A179 !important;
border:20px  solid #00F;
padding: 30px;
width : 300px;
} 
在Mozilla中浏览时候,能够理解!important的优先级,因此显示#60A179的颜色: [img]http://www.webjx.com/upfiles/20050617/20050617084731_3.gif[/img] 在IE中浏览时候,不能够理解!important的优先级,因此显示#00F的颜色: [img]http://www.webjx.com/upfiles/20050617/20050617084744_4.gif[/img] 可以看到,利用!important,我们可以针对IE和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important。因此,上面提到的我的主页2px的显示差别也轻松解决: PADDING-TOP: 11px !important; PADDING-TOP: 9px; !important必定成为CSS布局的利器,请记住和掌握它吧:)
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部