差異:CSS 宽度与 clientWidth
重要性:5
getComputedStyle(elem).width
和 elem.clientWidth
之間有什麼不同?
至少提供 3 個不同點。越多越好。
不同點
clientWidth
是數字,而getComputedStyle(elem).width
會傳回一個字串,字串結尾有px
。getComputedStyle
可能會傳回非數字寬度,例如內嵌元素的"auto"
。clientWidth
是元素的內部內容區域加上內邊距,而 CSS 寬度(使用標準box-sizing
)是內部內容區域不含內邊距。- 如果有一個捲軸列,而且瀏覽器為其保留空間,有些瀏覽器會從 CSS 寬度中減去該空間(因為該空間不再可用於內容),而有些瀏覽器則不會。
clientWidth
屬性始終相同:如果保留空間,則會減去捲軸列大小。