IE6中float造成margin值双倍解决办法

例1

一个元素向左浮动(float:left),且添加了向左空白边(margin-left:10px),那么会自动的加一倍变成30px。
例:

 代码如下 复制代码

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>IE6双空白边Bug</title>
</head>
<body>
<div style="border:1px solid red;width:200px;">
<div id="d1" style="margin:0 0 0 10px;float:left;border:1px solid gray;">
IE6双空白边bug
</div>
<div style="clear:both;"></div>
</div>
</body>
</html>

解决方法:

给div[id=d1]加:display:inline,当然只针对IE6一下,可以使用下划线加属性-display:inline,这样只有IE6能识别了。
边距翻倍只有当元素的边距碰到包含块时才发生。当一个元素被浮动到另一个浮动元素时不会翻倍。另marginTop和marginBottom都不会翻倍。

不知道大家有没有看懂没懂我们再看

例2

假如为一个div设置css:

float:left;
margin-left:10px;
在IE7,Firefox等浏览器下能正确解释左边距10px。但是在IE6下会理解为左边距20px。

解决方法:

为这个div的css中添加:

display:inline;这个是ie6的bug,下面还有更好的解决办法!借助于padding样式和!important标记,可以实现Firefox与IE6的兼容效果。

 代码如下 复制代码
<div style="clear: both; float: none;">
借助于padding样式和!important标记,可以实现Firefox与IE6的兼容效果。
</div>
<div style="border: 1px solid blue; float: left; clear: both; padding-bottom: 0px !important; padding-bottom: 100px;">
            <div style="border: 1px solid red; float: left;width: 100px; height: 100px; font-size: 12px; margin-top: 100px; margin-bottom: 100px; margin-left: 100px !important; margin-right: 100px !important; margin-left: 50px; margin-right: 50px;">
                width: 100px;
                height: 100px;
                margin: 100px;
            </div>
</div>

第一种:

 代码如下 复制代码

.div {
background:orange;/*ff*/
*background:green !important;/*ie7*/
*background:blue; /*ie6*/
}

第二种:

 代码如下 复制代码

.div {
margin:10px;/*ff*/
*margin:15px;/*ie7*/
_margin:15px;/*ie6*/
}

第三种:

 代码如下 复制代码

#div { color: #333; } /* ff */
* html #div { color: #666; } /* IE6 */
*+html #div { color: #999; } /* IE7 */

时间: 2024-11-06 09:54:03

IE6中float造成margin值双倍解决办法的相关文章

IE6中出现&quot;无法设置selected属性&quot;解决办法

如下代码  代码如下 复制代码 selectObj.val(defaultSelect);//选中指定项 在其它浏览器都是没问题,就是ie6下不行,后来百度了一个 解决办法 就是设置selected属性的时候使用setTimeout函数设定一个时间即可,代码如下:  代码如下 复制代码  var selectObj = document.getElementById('selectId');  // 使用setTimeout之后问题解决  setTimeout(function() {     

IE6中Select覆盖DIV元素各种解决办法

普通的元素,textbox, div, table--这些,属于windowless element,它们之间互相遮盖的情况由z-index决定,在它们之上,是SELECT这些windowed element.所以一般情况下div.table等不能遮盖select. 解决办法一:Iframe包裹select元素  代码如下 复制代码 <iframe style="z-index:1" style="z-index:1"><!-- 用iframe 解

jquery解决ie6中图片过大导致错位解决方法

jquery解决ie6中图片过大导致错位解决方法 在产品展示页面中用jqurey控制下: /*这个标签调用产品图片*/ <asp教程:image runat="server" id="productbigimg" /> 首先引入jquery <script src="/utility/js/jquery.js" type="text/网页特效"></script> <script ty

C#中float的取值范围和精度

原文:C#中float的取值范围和精度 float类型的表现形式: 默认情况下,赋值运算符右侧的实数被视为 double. 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示: float x = 3.5F; 如果在以上声明中不使用后缀,则会因为您尝试将一个 double值存储到 float 变量中而发生编译错误. float的取值范围  float占用4个字节,和int是一样,也就是32bit. 1bit(符号位) 8bits(指数位) 23bits(尾数位) 存储方式如下图:

ubuntu中laravel提示缺少mcrypt扩展解决办法

mcrypt是一个加密的扩展了,在php中如果要使用此加密就必须安装mcrypt扩展了,下面我们来看看在ubuntu中laravel提示缺少mcrypt扩展解决办法,希望下文对你有帮助. 解决办法. sudo apt-get install php5-mcrypt sudo mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available sudo php5enmod mcrypt service apache2 restart 上面的方法不知

在ASP.net中的UpdatePanel,弹窗失败解决办法

原文:在ASP.net中的UpdatePanel,弹窗失败解决办法 最开始我用: Response.Write("<script>alert('和哈呵呵呵呵呵呵!')</script>"); 在没有UpdatePanel时,这个有效,能够正确弹出提示窗口. 后面,页面改进,加上局部刷新后,该方式失效了.探索出新的方式:   ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(),

AndroidGUI27中findViewById返回null的快速解决办法_Android

 在用Eclipse进行Android的界面开发,通过findViewById试图获取界面元素对象时,该方法有时候返回null,造成这种情况主要有以下两种情形. 第一种情形是最普通的. 比如main.xml如下,其中有一个ListView,其id为lv_contactbook <?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.

AndroidGUI27中findViewById返回null的快速解决办法

在用Eclipse进行Android的界面开发,通过findViewById试图获取界面元素对象时,该方法有时候返回null,造成这种情况主要有以下两种情形. 第一种情形是最普通的. 比如main.xml如下,其中有一个ListView,其id为lv_contactbook <?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.a

IE6中ajax aborted错误请求中断解决方法_AJAX相关

给a标签绑定了一个click事件用来触发ajax请求,在IE6中,请求时常会被中断,在其他浏览器中都一切正常. 在IE6中使用Fiddler2和httpWatch监视请求,经常会出现"aborted",折腾了许久,相当的诡异.后来将a标签换成button,请求正常,最后经提醒,可能是a标签的默认事件中断了请求.但是,在HTML代码中,已经将a标签的href设置成了"javascript:void(0)",通常这样是可以阻止默认事件了(页面跳转).a标签的click事