Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 $(element).width()与其实际像素宽度之间的奇怪差异_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript $(element).width()与其实际像素宽度之间的奇怪差异

Javascript $(element).width()与其实际像素宽度之间的奇怪差异,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个网页,里面只有一个元素。我必须以毫米为单位设置这个元素的宽度,但我以后需要以像素为单位设置它的宽度。我使用css代码设置宽度,如下所示: width:50mm 并在一段时间后获得宽度 $(element).width() 结果是189。然后我按下键盘上的“打印屏幕”按钮,将剪贴板内容粘贴到图像编辑器中,奇怪的是,它的宽度是252px 我很好奇为什么这些价值观彼此之间如此遥远 这是我的代码:如果元素具有填充或边框,则填充将不会在元素的“布局宽度”(由$(element).width()

我有一个网页,里面只有一个元素。我必须以毫米为单位设置这个元素的宽度,但我以后需要以像素为单位设置它的宽度。我使用css代码设置宽度,如下所示:

width:50mm
并在一段时间后获得宽度

$(element).width()
结果是189。然后我按下键盘上的“打印屏幕”按钮,将剪贴板内容粘贴到图像编辑器中,奇怪的是,它的宽度是252px

我很好奇为什么这些价值观彼此之间如此遥远


这是我的代码:

如果元素具有填充或边框,则填充将不会在元素的“布局宽度”(由$(element).width()返回)中考虑,而是会增加元素的可视大小。这是因为宽度是元素的CSS属性,而不是计算的属性

#foo{
宽度:100px;
高度:100px;
背景:红色;
}
#酒吧{
宽度:100px;
高度:100px;
填充:100px;
背景:蓝色;
}
foo

bar
使用浏览器开发人员工具获取元素的实际布局。你没有发布代码,所以任何人都很难提供具体的帮助。我不认为这很重要,但添加了fiddle链接!在这种情况下,您可以使用
outerWidth()
。是的,您也可以使用element.offsetWidth在vanilla JS中获得它。