obj.offsetWidth和obj.style.width变长变短的问题

来源:4-2 获取样式

Jade2_

2016-08-03 19:33

请问一下为什么一个obj.offsetWidth-1会变长,而obj.style.width-1却变短

写回答 关注

2回答

  • Collus
    2016-08-03 21:24:27
    已采纳

    先明确两个概念:obj.offsetWidth是盒子模型中盒子的宽度(content+2*padding+2*border)。obj.style.width只是content的宽度(即写在CSS样式中的width的值)。假设padding=0,如果设置了宽度为1px的border,那么obj.offsetWidth的值就是content的宽+2px,obj.offsetWidth-1的值就是content的宽+1px.因此会变长。而obj.style.width-1,的值就是content长度减1,所以越来越短。

    Jade2_

    非常感谢!

    2016-08-04 08:53:26

    共 1 条回复 >

  • 唯尔半截湘妃
    2016-08-03 21:23:24

    obj.offsetWidth获取的是加上边框的width,打个比方,一个div你给它设置div{width:200px; border:1px solid #ccc},它的obj.style.width=200px;而obj.offsetWidth=202px;你把obj.style.width=obj.offsetWidth-1;你算算看,还是变长了1px

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113923 学习 · 1443 问题

查看课程

相似问题