div2.style.position = "absolute"时,div2的元素已经不受div1的定位和大小的限制。所以div1的元素的大小也就不再受div2的大小的限制。从而此时div1的scrollWidth、scrollHeight应该是100px、100px,而不是300px、300px。
建议div1、div2都是"relative"。

解决方案 »

  1.   

    iframe好像就没有scrollWidth属性,我真的希望它有……
      

  2.   

    但为何同样的情况在ie6.0里面scrollWidth > 300呢?
    to 21bird(世纪菜鸟:尘缘如梦……) :iframe的scrollWidth反映在其内部的window.document.body上。
      

  3.   

    abent(阿木一头):
    其实我是想根据iframe里面的内容的宽度设置控制iframe的宽度,
    我已经实现了根据iframe里面的内容的高度设置控制iframe的高度,
    具体是如果里面文件小于一页的高度,就设为指定高度,否则自动延长……
    可是问题是如果不满足延长的条件的时候,宽度就乱了……
      

  4.   

    如果div2一定要绝对定位,哪位有高招?
      

  5.   

    那就用div2的scrollWidth啦,既然这个时候div1的scrollWidth已经没有意义了。
      

  6.   

    absolute之所以叫绝对,是相对它的容器而言的,注意使用,你的问题没有说清楚,打开你的MSDN,看一下scrollWidth和clientWidth的定义就明白了
      

  7.   

    哦!那为何在IE6中,内部包含position:absolute对象的对象的scrollWidth又有了反应了呢?
      

  8.   

    如果你的div2一定要绝对定位的话那div1与div2之间就还是嵌套的关系了,div2就变成了与div1同级了!一般嵌套是不会用绝对定位的!