element.offsetWidth 与 element.style.width的区别

红太狼 2022-09-25 13:21 168阅读 0赞

请先 下载demo事例

下载后,请依次点击div,仔细观看弹出框里面的内容,仔细比较一下,你就能看到区别。

不愿意下载的童鞋也可以自己复制啊!微笑

html:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Hello, World</title>
  6. <link rel="stylesheet" href="static/css/aio.css" />
  7. </head>
  8. <body>
  9. <div class="div1 box" id="div1" style="width:200px">我是div1<br/>点我看看我的类型</div>
  10. <div class="div2 box" id="div2">我是div2<br/>点我看看我的类型</div>
  11. <hr/>
  12. <div class="div3 box" id="div3" style="width:200px">我是div3<br/>我有padding border width</div>
  13. <div class="div4 box" id="div4">我是div4<br/>我有padding border width </div>
  14. <hr/>
  15. <div class="div5 box" id="div5" style="width:200px">我是div5<br/>你可以改变我的宽度</div>
  16. <div class="div6 box" id="div6">我是div6<br/>但你改变不了我的宽度!嘻嘻</div>
  17. <hr/>
  18. <div class="div7 box" id="div7" style="width:200px">我是div7<br/>我的样式在行间</div>
  19. <div class="div8 box" id="div8">我是div8<br/>我的样式在css里面</div>
  20. <script src="static/js/test.js"></script>
  21. </body>
  22. </html>

css:

  1. /*!/css/style.scss*/
  2. body {
  3. background-color: #FFCCFF;
  4. }
  5. .box {
  6. margin: 20px;
  7. height: 200px;
  8. display: inline-block;
  9. background-color: blue;
  10. vertical-align: top;
  11. }
  12. .div2 {
  13. width: 200px;
  14. }
  15. .div3 {
  16. padding: 5px;
  17. border: 5px solid red;
  18. }
  19. .div4 {
  20. padding: 5px;
  21. width: 200px;
  22. border: 5px solid red;
  23. }
  24. .div6 {
  25. width: 200px;
  26. }
  27. .div8 {
  28. width: 200px;
  29. }

js:

  1. window.οnlοad=function() {
  2. var odiv1 = document.getElementById('div1');
  3. var odiv2 = document.getElementById('div2');
  4. var odiv3 = document.getElementById('div3');
  5. var odiv4 = document.getElementById('div4');
  6. var odiv5 = document.getElementById('div5');
  7. var odiv6 = document.getElementById('div6');
  8. var odiv7 = document.getElementById('div7');
  9. var odiv8 = document.getElementById('div8');
  10. odiv1.onclick =function(){
  11. var width = odiv1.style.width;
  12. alert("div1宽度:"+width+"\n"+"div1类型为:"+typeof(width));
  13. console.log("div1宽度:"+width+"\n"+"div1类型为:"+typeof(width));
  14. }
  15. odiv2.onclick =function(){
  16. var width = odiv2.offsetWidth;
  17. alert("div2宽度:"+width+"\n"+"div2类型为:"+typeof(width));
  18. console.log("div2宽度:"+width+"\n"+"div2类型为:"+typeof(width));
  19. }
  20. odiv3.onclick =function(){
  21. var width = odiv3.style.width;
  22. alert("div3宽度:"+width);
  23. console.log("div3宽度:"+width);
  24. }
  25. odiv4.onclick =function(){
  26. var width = odiv4.offsetWidth;
  27. alert("div4宽度:"+width);
  28. console.log("div4宽度:"+width);
  29. }
  30. odiv5.onclick =function(){
  31. odiv5.style.width = 300+'px';
  32. }
  33. odiv6.onclick =function(){
  34. odiv6.offsetWidth = 300;
  35. }
  36. odiv7.onclick =function(){
  37. var width = odiv7.style.width;
  38. alert("div4宽度:"+width);
  39. console.log("div4宽度:"+width);
  40. }
  41. odiv8.onclick =function(){
  42. var width = odiv8.style.width;
  43. alert("div4宽度:"+width);
  44. console.log("div4宽度:"+width);
  45. }
  46. }
两者区别表






















区别 style.width offsetWidth
类型区别 string number
宽度区别 本身的div的width padding+border+width
读写属性 可读可写 只读

最后一点。style.width只能获取到div的行间宽度。要想获取到css里面的宽度的话。就要用到getComputerStyle( element, op ).width

IE下用element.currentStyle.width。

发表评论

表情:
评论列表 (有 0 条评论,168人围观)

还没有评论,来说两句吧...

相关阅读

    相关 +==+区别

    \+=与=+的区别 今天做LeetCode的时候,键盘敲得快了点,后来程序运行结果和设想相差很离谱,于是在关键位置逐行仔细检查代码,发现自己无意间把+=写成了=+(编译并