IE6,7的table不能跟随着滚动条滚动的解决办法

最近遇见了一个很奇怪的问题,大致如下面结构:

<div style="overflow-y:auto;width:100px;height:100px;">
<table style="width:100%;height:auto;"></table>
</div>

然后吧移动滚动条就发现IE6,7里面的table并不会随着一起动,这个时候table就像定在了那里一样。事实是确实是定在了那里。

不知道触动了IE6,7的哪根神经,它定在了那里,这个时候就把它当做absolute处理,将父级div加上一个position:relative就可以动了。

为什么要width:100%

在很多活动页面或者功能页面中因为要适应大屏幕和小屏幕的同时需要,都需要设置一张大的复杂背景,或者平铺背景。
实现这个超过正常屏幕大小背景图片的方法通常是在外面加一层背景,源代码如下:
<div style=”width:100%; background:URL(../images/bg.jpg) no-repeat center center”></div>
有的时候在想,这个width为什么要设置成100%,我设置成这个大图片的宽度不是照样也可以实现么!!!
答案当然是否定的!因为这样在小于图片宽度的屏幕上是不行的。
除此以外,还为避免防止以下情况:
1.默认符合盒模型的html标签,默认都是width:auto;
2.设置float,position:absolute之后,元素的width进入了一个宽度不定状态。这个时候,设置width就是很有必要的了。
3.背景图需要居中,背景无限延伸时,需要设置width:100%触发haslayout,主要正对IE6
4.width:100% 除了定义宽度外,还可以触发haslayout,主要针对IE6