用于clear的DIV在IE浏览器下会有高度的解决 附浏览器HACK(部分)
貌似已经有人写过,但是自己还是要记录一下。。
注:
+(针对IE7及IE6,IE8没有测试)
_(下横线只针对IE6)
*html(只针对IE6)
*+html(只针对IE7)
*(针对IE7及以下版本,IE8没有测试)
html>/**/body(针对FF)
element{ display /*屏蔽IE6*/:none;}(注释在冒号前,只针对IE6)………….还有很多。
通常我们在浮动后都会进行清除以免造成布局因为浮动而变乱,这个时候一般有两种做法,一种是添加一个元素,通常是DIV,然后让他来完成清除的任务。
.clear{clear:both;}

或者是用伪类来进行清除
#select:after {content:”.”; display:block; height:0; clear:both; visibility:hidden;}
个人经验来看一般情况下使用添加一个DIV来进行清理虽然会增加无语义的标签,但是要优于伪类清除(IE6以下版本不支持这种清理方法)
那么如果使用前一种方法的话在IE浏览器中就会出现这样一个问题:这个DIV会有5px高度!!!!而在其他类型浏览器中却没有这种问题。解决办法 是对这个元素进行display:inline;来进行修正。增加了overflow:hidden;是为了解决浮动时出现的double margin问题。
.clear{clear:both;*display:inline;overflow:hidden;}
使用上面的清除样式后,IE下的默认DIV高度和浮动清理就解决了。。
———————–
如果要单独对IE下空DIV去除默认高度,也可以DIV{*display:inline;}