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

标签 javascript jquery html css

我有一个网页,其中只有一个元素。我必须以毫米为单位设置此元素的宽度,但稍后我需要以像素为单位的宽度。我已经使用 css 代码设置了宽度,例如:

width:50mm

并在一段时间后获取宽度

$(element).width()

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

我很好奇为什么这些值彼此相差那么远?

这是我的代码:https://jsfiddle.net/k9w1fz0k/

最佳答案

如果一个元素有内边距或边框,内边距不会被考虑在元素的“布局宽度”中(由$(element).width()返回),但会增加元素的视觉尺寸。这是因为宽度是元素的 CSS 属性,而不是计算出来的。

#foo {
  width: 100px;
  height: 100px;
  background: red;
}

#bar {
  width: 100px;
  height: 100px;
  padding: 100px;
  background: blue;
}
<div id="foo">foo</div>
<div id="bar">bar</div>

关于javascript - $(element).width() 与其实际像素宽度之间的奇怪差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31099726/

相关文章:

javascript - Mongoose 从嵌套数组中删除一个对象

javascript - 通过 AJAX 向同一页面发送 POST 请求并使用 $_POST 获取值

html - 边界半径属性不起作用

javascript - CSS 选择器性能,DOM 解析

javascript - 在一个div中加载的网页不可见,并且无法看到另一个div的滚动条的末尾

php - 是否可以将 youtube channel 上传的视频列表实现到网站中?

javascript - 简单的 jquery 对话框无法创建输入

Javascript 正则表达式 : Best Buy product ID from URL

javascript - 如何在 Node.js 中获取服务器正常运行时间?

javascript - DOM 创建元素上的 jQuery .on() 函数问题