返回课程

区别:CSS width 与 clientWidth

重要性:5

getComputedStyle(elem).widthelem.clientWidth 之间有什么区别?

至少列出 3 个区别。越多越好。

区别

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