返回課程

差異:CSS 宽度与 clientWidth

重要性:5

getComputedStyle(elem).widthelem.clientWidth 之間有什麼不同?

至少提供 3 個不同點。越多越好。

不同點

  1. clientWidth 是數字,而 getComputedStyle(elem).width 會傳回一個字串,字串結尾有 px
  2. getComputedStyle 可能會傳回非數字寬度,例如內嵌元素的 "auto"
  3. clientWidth 是元素的內部內容區域加上內邊距,而 CSS 寬度(使用標準 box-sizing)是內部內容區域不含內邊距
  4. 如果有一個捲軸列,而且瀏覽器為其保留空間,有些瀏覽器會從 CSS 寬度中減去該空間(因為該空間不再可用於內容),而有些瀏覽器則不會。clientWidth 屬性始終相同:如果保留空間,則會減去捲軸列大小。