dom.style.height, offsetWidth, scrollWidth, clientWidth区别

可读写
dom.style.width             R/W
offsetWidth             RO
scrollWdith             RO
clientWidth            RO

测试写了一个div , 样式如下

<style type="text/css"> 
   div{
    width: 100px;
    height: 100px;
    margin: 100px;
    padding: 100px;
    border: 30px #ccc solid;
   }
</style> 

    var div = document.getElementById('mydiv');
    console.log("clientWidth" + div.clientWidth);
    console.log("offsetWidth" + div.offsetWidth);
    console.log("scrollWidth" + div.scrollWidth);
结果: 

clientWidth: 300 padding-left+width+padding-right
offsetWidth: 360 border(left)+padding-left+width+padding-right+border(right)
scrollWidth: 300 因为没有左右滚动,故 scrollWidth = clientWidth

兼容FF Chrome 和 IE

 dom.style.width 这个只有内联样式才会有值,且类型时 string 类型,eg: "100px"

所以一般获取元素的宽度时,采用 clientWidth 或 offsetWidth ,在 js 中设置元素宽度时:

var w = dom.offsetWidth;
dom.style.width = w*1.5 + "px";










  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值