利用!important来处理margin在firefox与IE的显示差别

简介:
示例代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c />
<title>无标题文档</title>
<style>
body{font:"宋体" ; font-size:12px; text-align:center; margin:0px; padding:0px;}
a{ color: #003399; font-size:12px; text-decoration:none}
a:hover{color:#0099FF; font-size:12px; text-decoration:none}
#topBar{ width:990px; height:110px; background:url(../images/topBar.gif) no-repeat; border:solid 1px #A3BFE7; margin:5px auto auto auto;}
#topMenu{ width:721px; height:15px; margin:84px 5px 0px 0px; float:right; padding:5px;   border:solid 1px #A3BFE7; overflow:hidden; border-bottom:0px; background:url(../images/MenuBg.jpg);clear:both;}
#topMenu ul{margin:0px -15px 0px -40px !important; margin:0px -15px 0px 0px ; list-style:none; height:15px; clear:both;}
#topMenu ul li{float:left;width:90px; border-right:solid 1px #2E4690; line-height:15px;display: inline;}
</style>
</head>
<body>
<!--顶部开始-->
<div id="topBar">
<div id="topMenu">
   <ul>
<li>首页</li>
<li>产品介绍</li>
<li>相关下载</li>
<li>服务支持</li>
<li>招贤纳士</li>
<li>公司资源</li>
<li>论坛交流</li>
<li>联系我们</li>
   </ul>
</div>
</div>
<!--顶部结束-->
</body>
</html>


大家应该注意到上边这个例子里的#topMenu ul 用了两次margin也是很多人所说的双margin解决方法,这样做是有原因的,因为这样做的目的就是为了让页面在IE和firefox里显示都正确。这里边就用了!important在IE和firefox里的作用不同的bug.
大家可以试着去掉!imortant和其中的一个margin来看看在IE和firefox里的区别。

注:important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权,语法格式{ sRule!important },即写在定义的最后面,比如{font-color: red !important;},由于IE6并不支持该语法(IE6只是在确定ID和class之间的优先级中起到作用),所以我们可以利用这一点解决部分CSS的浏览器兼容问题,这样Firefox仍然使用前一部分的margin定义,而IE则使用后一部分margin定义,立即试用,果然在IE下浏览正常了。[/color][/color][b]目前新推出的IE7又可以识别!important了,所以想让IE7,IE6,FF都来适应,这又是一个问题。下面我通过更改下面样式就可以让IE7,IE6,FF都来适应。

原来样式
#topMenu ul {
margin:0px -15px 0px -40px !important; 
margin:0px -15px 0px 0px ; 
list-style:none; 
height:15px; 
clear:both;
}

更改后的样式
#topMenu ul{
margin:0px -15px 0px -40px !important;

/*for IE7*/
> margin:0px -15px 0px 0px !important;

/*for IE6*/
margin:0px -15px 0px 0px ; 

list-style:none;
height:15px; 
clear:both;
}
分类:  css, C# Asp.net

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2009/02/06/1385459.html,如需转载请自行联系原作者
相关文章
|
8月前
|
Web App开发 JavaScript
JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)
JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)
843 0
|
10月前
|
Web App开发 前端开发
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
|
Web App开发 安全
接口框架中WebDriver启动IE、Firefox和Chrome浏览器
接口框架中WebDriver启动IE、Firefox和Chrome浏览器
接口框架中WebDriver启动IE、Firefox和Chrome浏览器
|
Web App开发 数据安全/隐私保护
&nbsp在IE和FireFox中显示不一致
在做新闻发布系统后台登陆界面时,为了界面美观,想在“密码”二字中间添加空格,从而让“用户名”、“密 码”、“验证码”垂直对齐。
&nbsp在IE和FireFox中显示不一致
|
Web App开发 前端开发 JavaScript
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同?
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同?
141 0
|
Web App开发 前端开发 JavaScript
怎么让CSS兼容IE和FireFox火狐的技巧大全
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理 方法并整理了一下。对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明。
1151 0
|
Web App开发 前端开发 JavaScript
最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 FireFox)
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加DOCTYPE声名. CSS技巧1.div的垂直居中问题vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。
1170 0