Javascript $(element).width()与其实际像素宽度之间的奇怪差异
我有一个网页,里面只有一个元素。我必须以毫米为单位设置这个元素的宽度,但我以后需要以像素为单位设置它的宽度。我使用css代码设置宽度,如下所示:Javascript $(element).width()与其实际像素宽度之间的奇怪差异,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个网页,里面只有一个元素。我必须以毫米为单位设置这个元素的宽度,但我以后需要以像素为单位设置它的宽度。我使用css代码设置宽度,如下所示: width:50mm 并在一段时间后获得宽度 $(element).width() 结果是189。然后我按下键盘上的“打印屏幕”按钮,将剪贴板内容粘贴到图像编辑器中,奇怪的是,它的宽度是252px 我很好奇为什么这些价值观彼此之间如此遥远 这是我的代码:如果元素具有填充或边框,则填充将不会在元素的“布局宽度”(由$(element).width()
width:50mm
并在一段时间后获得宽度
$(element).width()
结果是189。然后我按下键盘上的“打印屏幕”按钮,将剪贴板内容粘贴到图像编辑器中,奇怪的是,它的宽度是252px
我很好奇为什么这些价值观彼此之间如此遥远
这是我的代码:如果元素具有填充或边框,则填充将不会在元素的“布局宽度”(由$(element).width()返回)中考虑,而是会增加元素的可视大小。这是因为宽度是元素的CSS属性,而不是计算的属性
#foo{
宽度:100px;
高度:100px;
背景:红色;
}
#酒吧{
宽度:100px;
高度:100px;
填充:100px;
背景:蓝色;
}
foo
bar
使用浏览器开发人员工具获取元素的实际布局。你没有发布代码,所以任何人都很难提供具体的帮助。我不认为这很重要,但添加了fiddle链接!在这种情况下,您可以使用outerWidth()
。是的,您也可以使用element.offsetWidth在vanilla JS中获得它。