DIV height in IE
今天在一个论坛中看到一篇帖子问,为什么他设置的DIV的高度在IE中不起作用。基本的代码类似于这样:
<html>
<body>
<div style="background-color:blue;height:5px"></div>
</body>
</html>
在Firefox中,这段代码会很正确的将这个DIV的高度设置为5px。但是在IE中,这个DIV将总是有一行文字的高度大小(具体是多高没有研究,可能是一个default value)。我研究了一下解决方法,其实很简单,只需要将style中,加入一个属性:overflow:hidden就可以了。这个属性告诉浏览器,如果这个node中的内容超过了设置的可见区域那么就将超出的部分hide掉。修改后的代码就是这样的:
<html>
<body>
<div style="background-color:blue;height:5px;overflow:hidden"></div>
</body>
</html>
感觉这个应该是IE的一个bug吧。因为这个DIV中本身就没有content,应该不存在将自身撑开的问题。
在css中,overflow是个非常有用的属性。比如如果需要制定一个DIV的大小,但是又不想将超出的部分隐藏掉,这时候就应该使用overflow:auto这个属性,浏览器就会为这个DIV加上滚动条,使content可以显示出来。如果不设置overflow属性的话,默认是content将node撑开(这个行为IE和Firefox也有不一样的地方,所以我建议如果一个DIV的大小被固定了,还是设置上overflow比较保险)。:-)
Updates:
看了另为一个人的回帖,自己也做了一下实验,确实这个DIV是跟当前的font-size有关的。也就是说,在IE中,一个DIV默认是不能比font-size小的(这是谁规定的?MS?)。








