Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML中style.width和offsetwidth之间的差异?_Javascript_Html - Fatal编程技术网

Javascript HTML中style.width和offsetwidth之间的差异?

Javascript HTML中style.width和offsetwidth之间的差异?,javascript,html,Javascript,Html,我注意到offsetwidth是一个稍大的数字。对于style.height和offsetheight也类似 通常,元素的offsetWidth是一种度量,它包括元素边框、元素水平填充、元素垂直滚动条(如果存在,如果渲染)和元素CSS宽度 资料来源: 因此,它是包含边框和填充的元素的宽度。高度也是一样。返回计算元素的宽度,而只返回由javascript在element.style中定义的宽度属性,不反映实际元素的尺寸 这意味着,如果您试图通过访问el.style来获取元素的宽度,则可能什么也得

我注意到
offsetwidth
是一个稍大的数字。对于
style.height
offsetheight
也类似

通常,元素的offsetWidth是一种度量,它包括元素边框、元素水平填充、元素垂直滚动条(如果存在,如果渲染)和元素CSS宽度

资料来源:


因此,它是包含边框和填充的元素的宽度。高度也是一样。

返回计算元素的宽度,而只返回由
javascript
在element.style中定义的宽度属性,不反映实际元素的尺寸

这意味着,如果您试图通过访问
el.style
来获取元素的宽度,则可能什么也得不到(),即使宽度是在CSS中定义的。只有在
javascript
el.style
中定义了数字时,才能获得该数字

此外,
offsetWidth
提供元素的实际宽度,包括
填充
边框
(如果使用
内容框
),这是
框大小调整的默认值。因此,您可以像设置元素内容的
width
padding/border
一样考虑这一点()


如果使用的是边框框,则可以设置元素的总宽度,包括
填充
边框
使内容区域变小()。因此,在这种情况下,将返回完全相同的数字(如果
el.style.width
以前由
javascript
设置)。

offsetWidth是元素CSS宽度的像素度量,包括任何边框、填充和垂直滚动条

clientWidth是内部宽度(即元素内部的空间,包括填充,但不包括边框和滚动条)


仅返回已定义的css

时,它不包含边距,因此此答案不正确/此答案中有一些宝石!仔细阅读!