重庆哈曼皇宫:我设置div的margin-top IE6下居然无效 haslayout
来源:百度文库 编辑:九乡新闻网 时间:2024/10/02 17:31:21
点评:前几天做一个页面的时候遇到了这个问题。我设置div的margin-top IE6下居然无效;后来搞了好半天没弄出来。 只能设置父元素的padding-top;来达到效果。看下面的演示代码;
今天有时间,所以特意做了一个测试。
复制代码代码如下:
test-2
呵呵,我标题没错吧。果然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,不要全部写进去。)
根据自己的具体情况来选择一种即可!
今天有时间,所以特意做了一个测试。
复制代码代码如下:
test-2
呵呵,我标题没错吧。果然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的 haslayout ; haslayout来解决一些常见的IE BUG;(建议不太明白 haslayout 的同学点击连接去读一下。haslayout 不神秘。)
在InternetExplorer中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容
上面这句加粗的话很重要哦。
上面的例子 test-1 没有触发 haslayout 他不能负责对自己和可能的子孙元素进行尺寸计算和定位;所以子元素的margin失效。
当然 激活 haslayout 的方式很多 zoom:1; 其实设置 widht height 也可以激活。所以当设置了 这两个值。子元素定位也正确了。
以上仅个人根据网上的资料得到的结论,如果有错误,还请高人指点。
罪恶的IE 浏览器何时退出舞台。
最新新闻 沃茨手表网
CSDN程序文档
上海旅游网 神马百科 程序博客
香蕉皮作业帮 景德镇新闻网 余姚信息网
作业帮作业网 互助问答吧 16楼社区
解题作业帮艺术百科亮点网神马百科
神马文学网
拍题作业网
UC知道
我爱散文网
北方网
科学网
第一文库网
微思作业网
我要文章网
都市新闻网西欧教育西山新闻网好楼房产信息网
九乡新闻网农企信息网仙女们写真照片音乐简谱网米粒芽学校大全网95后网站汝南网欧普网宝宝故事网
神马品牌网
杭州交通信息网/">
杭州市高中教育平台
查人人中国名人网
爱美之人
上车买票
安卓系统之家
中科新闻网
科学院研究所
高考快车
高考志愿帮
大学志愿大全
高校问答
高考问答
中考百科
大学知道
久游网