区别:CSS width 与 clientWidth
重要性:5
getComputedStyle(elem).width
和 elem.clientWidth
之间有什么区别?
至少列出 3 个区别。越多越好。
区别
clientWidth
是数值,而getComputedStyle(elem).width
返回一个字符串,末尾带有px
。getComputedStyle
可能会返回非数值宽度,例如内联元素的"auto"
。clientWidth
是元素的内部内容区域加上填充,而 CSS 宽度(使用标准box-sizing
)是内部内容区域不包括填充。- 如果存在滚动条并且浏览器为其保留了空间,一些浏览器会从 CSS 宽度中减去该空间(因为该空间不再可用于内容),而另一些则不会。
clientWidth
属性始终相同:如果保留了滚动条大小,则会减去。