Cnscorpio

{夫君子之所取者远,则必有所待;所就者大,则必有所忍!}

用于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;}

说两句吧:
(*)
(*绝对不给酒吧女)