问答详情
源自:4-2 获取样式

为什么会大一啊 ?

div{width:200;}height:400; border:1px solid #f00;

提问者:慕仙5237505 2017-10-31 16:32

个回答

  • cRCHAN
    2017-11-02 10:53:14
    已采纳

    有没有看完那节课?课程后面讲了,是因为盒子的原因,真正的宽度是设置的width值再加上边框的值*2(因为有左右边框)。offsetWidth读取的是width加上border的值,而style.width只是width的值。原先来说是oDiv.style.width + 2 = oDiv.offsetWidth(这里不是赋值,而是普通的相等)。实际oDiv.offsetWidth比oDiv.style.width大2像素,赋值运算的时候,虽然offsetWidth - 1了,也还是比style.width大1像素,真正算下来就是style.width不断的加。

  • qq_往事随风_79
    2018-05-30 16:34:44

    还是多了1px啊




  • dcd
    2017-11-18 10:14:34

    第一次运行完后width变为201,然后offsetWidth变为1+201+1=203,然后第二次运行后width=203-1=202,以此类推,所以逐渐变大