IE6 div标签height的Bug

http://younglab.blog.51cto.com/416652/272795

 

首先要看DIV有无内容,然后才会决定谁影响其高度:
  1. 当DIV为一个空标签的时候:DIV有一个默认的高度(大约20px左右吧),如果hiehgt的值小于这个数字,DIV不会有任何反 应,大于则可以控制;而line-height在这儿根本没有用,因为没有内容,所以也就不存在行高了。
  2. 当 DIV标签内有内容时(哪怕是一个 ):DIV的高度依然是默认的(依旧是20px左右),而这时候的height仍然只能 设置大于这个数的值,否则DIV不会受控制;但是,这时候却可以使用line-height来控制DIV的高度,准确来说是控制DIV内的内容行高,使 DIV受行高的变化而变化。
    不过,如果你设置了height的值,那么当line-height小于height的值的时候,DIV取的是height的 值;如果line-height大于height的值,那这时候影响DIV高度的就是line-height的值了。
在其它的浏览器就不会出现这个问题,也就是说line-height大于height的时候,DIV的高度依旧是height,最多是看不见内容, 但DIV的高度不会被line-height所控制。
期间有一个朋友评论说“使用overflow:hidden;第二种情况也是由height来控制了”:嘿嘿, 试了一下,的确如此,当DIV的高度被line-height撑高的时候,使用overflow:hidden;则会使超出DIV高度那部份的内容不可 见,从而使DIV的高度受hiehgt控制。

posted @ 2011-09-18 11:36  云中雀  阅读(2010)  评论(0编辑  收藏  举报