IE下overflow的bug
IE对CSS支持差是臭名昭著的,很多标准的css代码,用到IE上就会出现各种奇怪的问题,我也就不再多抱怨了。
昨日碰到一个问题,我的一个div设了overflow-y: scroll的属性,代码如下:
昨日碰到一个问题,我的一个div设了overflow-y: scroll的属性,代码如下:
<div style="height:50px; overflow-y:scroll;"><p>a</p><p>a</p><p>a</p><p>a</p></div>
在IE(6或者7)下,该div的显示总是不在预料之中。有滚动条,但是拖动滚动条没有任何反应;而overflow出来的内容也被直白的显示在div之外。
很是郁闷,google一下,终于找到了解决办法。
解决办法一:将页面document type设成none。即在html的开始不要添加诸如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">之类的声明。但是,这样的解决办法容易导致其他的一些显示问题,特别是当你原来都是按照strict或者transitional标准来写的时候,最后的改动会很麻烦。
解决办法二:给div加一个position:relative样式,如此以来,问题就很easy的解决了。至少对于我的要求来说,问题已经完全解决了。
很是郁闷,google一下,终于找到了解决办法。
解决办法一:将页面document type设成none。即在html的开始不要添加诸如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">之类的声明。但是,这样的解决办法容易导致其他的一些显示问题,特别是当你原来都是按照strict或者transitional标准来写的时候,最后的改动会很麻烦。
解决办法二:给div加一个position:relative样式,如此以来,问题就很easy的解决了。至少对于我的要求来说,问题已经完全解决了。
