博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IE6,IE7浏览器下 margin 无效的解决方法
阅读量:5978 次
发布时间:2019-06-20

本文共 1044 字,大约阅读时间需要 3 分钟。

今天有时间,所以特意做了一个测试。 

复制代码
代码如下:
<style type="text/css">
 
.test-1,.test-2{border:5px solid #F00;}
 
.test-1{border-color:#000;}
 
       /*width:100%; height:auto !important;height:1%; zoom:1;*/
 
.test-2{margin:10px;height:50px;width:500px;}
 
</style>
 
<div class="test-1">
 
<div class="test-2">
 
test-2
 
</div>
 
</div>





呵呵,我标题没错吧。果然IE6,IE7的margin:10px; 失效了。
解决办法 

复制代码
代码如下:
.test-1{border-color:#000;width:100%; height:auto !important;height:1%; zoom:1;}
 


使用:width:100%;或者 height:auto !important;height:1%; 或者zoom:1; 都可以解决上面的问题。(3选1,不要全部写进去。) 

根据自己的具体情况来选择一种即可!

问题根源

  当然知道了解决办法还不够,我们必须知道什么情况会引发上面的BUG,zoom:1;这东西貌似经常使用。于是我去查询了一下关于zoom的一些信息。

发现他会触发IE的  ; 来解决一些常见的IE BUG;(建议不太明白  的同学点击连接去读一下。 不神秘。)

  在InternetExplorer中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容

  上面这句加粗的话很重要哦。

  上面的例子 test-1 没有触发   他不能负责对自己和可能的子孙元素进行尺寸计算和定位;所以子元素的margin失效。

  当然 激活  的方式很多 zoom:1; 其实设置 widht height 也可以激活。所以当设置了 这两个值。子元素定位也正确了。

转自:

 

以下我的感悟:(IE6)

<box1>

 <box2>
  <box3><box3>
 <box2>
<box1>

box1设置了宽度100%

box2设置了相对定位和width=900,此时width=900值无效,所以box3的margin值也就无效了。解决的办法给box3加上width:auto,就ok了

转载地址:http://qwsox.baihongyu.com/

你可能感兴趣的文章
什么是大数据技术架构
查看>>
【分享】如何救援記憶卡中誤刪的資料
查看>>
北方计算机专修学院“展示自我 秀出风采” 网页创意设计大赛成功举办
查看>>
DNS解析相关实验:7台主机的恩怨情仇
查看>>
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
Nginx-location配置
查看>>
扫描线
查看>>
设计模式--模板方法(Template Method)
查看>>
引入CSS的方式有哪些?link和@import的有何区别应如何选择【转载】
查看>>
MariaDB 和 MySQL 性能测试比较
查看>>
Restful Web Service初识
查看>>
This用法和闭包
查看>>
JSP页面获取系统时间
查看>>
L-1-19 Linux之RAID&分区&文件系统命令
查看>>
stat查找权限以数字形式显示
查看>>
源码编译安装httpd2.4.9
查看>>
linux系统优化
查看>>
在使用 Windows Update 检查更新时,系统没有提供下载 Windows 7 SP1 的选项
查看>>