最近总是特别忙,任意忙,思维就容易乱,一乱想事情就无条理,无条理做事,效率是很低的……
就在最近,设计几个页面。本来设计页面就不是我的专长,但是又能怎么办呢?做就做呗,世上无难事!
可是当我把做好的页面,从IE6转到IE7去测试时,问题大了。
IE6下的完全正常,到了IE7,某个层的溢出内容直接从层的眼皮底下穿过去,而层的高度并没有改变。
我开始怀疑是层内前几个子层是float而后面的层是没有float造成的,于是做了个测试
<div style="height:100px; width:50px; border:#110011 solid 1px;">
<DIV style=" width:50px; height:40px;"></div>
<div style="width:50px;height:30px; background-color:#fe0000;"></div>
<div style="width:50px;height:30px; background-color:#00fe00;"></div>
<div style="width:50px;height:30px; background-color:#0000fe;"></div>
</div>
DocType是DTD模式的,这一点没问题(动态页面语言写的往往造成Doctype不在第一行,不过没事,只要第一个非空的行是Doctype即可)
在IE6下,父层的黑色边框完整的把所有子层都框住,然而IE7却穿插起来了,而且不是隐藏,极度难看,
我尝试 了全部float,全部不float,也尝试了clear,结果就像那个XXX,只是证明了这几种方法都不可行,怎么办?
当然,搜索引擎。
于是搜索,“IE7 div 重叠”,“IE7 层 混乱” 什么的,几乎一无所获。其实归结于思路上:这样搜的是针对 问题本身,而不是针对要实现
的效果,也就是目的。
我要实现的效果应该是“ie7 高度自动”,冤啊!整整一个早上!
于是:
height:auto!important; min-height:100px; height:100px;
把这个罪名强加给父层,就ok了!
方法啊!方法决定效率,希望兄弟们切记!