1. 程式人生 > >JS獲取盒模型對應的寬高

JS獲取盒模型對應的寬高

技術分享 rec bsp 文件 etc ttr put window 獲取

## 獲取內聯樣式寬高

只能獲取內聯設置的樣式,在style或者.css文件中設置的無法獲取

1 let div = document.querySelect(‘.test‘);
2 let width = div.style.width
3 let height = div.style.height

## currentStyle和getComputedStyle獲取所有樣式

兩者只能獲取樣式,不能設置樣式

let div = document.querySelect(‘.test‘);

let width;

if (div.currentStyle) {
  width 
= div.currentStyle.width; } else { width = window.getComputedStyle(div, null).width; // width = window.getComputedStyle(div, null)[‘width‘]; // 第二個參數可選,省略或者null }

針對獲取任意樣式,可做兼容性處理方法:

1 function getStyle(element, attr) {
2   if(element.currentStyle) {
3      return element.currentStyle[attr];
4 } else { 5 return getComputedStyle(element, false)[attr]; 6 } 7 }

至於 getBoundingClientRect()是獲取相對於視窗位置的集合, 可對應獲取寬高,大小, 位置。

1 let div = document.querySelector(‘.test‘);
2 let rectObject = div.getBoundingClientRect();

技術分享圖片

JS獲取盒模型對應的寬高