【问题标题】:Why does 2px border render taller than 2px height in Firefox and Chrome?为什么 2px 边框在 Firefox 和 Chrome 中呈现高于 2px 高度?
【发布时间】:2017-08-29 18:08:29
【问题描述】:

我正在尝试以 2 种不同的方式创建一条线。一种是高度为 2px 的 div 和背景(红色)。另一种是带有 2px 顶部边框(蓝色)的 div。这是测试代码:

.line {
  display: inline-block;
  vertical-align: top;
  width: 50px;
}

.height-line {
  height: 2px;
  background: red;
}

.border-line {
  border-top: 2px solid blue;
}
<div class="line height-line"></div>
<div class="line border-line"></div>

这些应该看起来是一样的,但是在 Chrome 中,您可以看到左侧 div 似乎比右侧 div 厚 1px。在 Firefox 中,当您慢慢更改浏览器窗口的高度时,您会看到高度在 3px 和 2px 之间波动(实际上,您需要查看 equivalent jsfiddle here 才能在 Firefox 中看到这种行为 - 我认为 b/c 的显示嵌入stackoverflow sn-p的方式,它不会发生)。

注意:我的缩放比例正确设置为 100%,并且我已在其他开发人员的浏览器中验证了相同的行为。我在 Windows 7 上,使用 Chrome 版本 57.0.2987.133。截图如下:

这是怎么回事?

【问题讨论】:

  • 至少在 sn-p 中,并在 Chrome 中查看它们对我来说是一样的。 (不是反对票,因为我认为一定有什么事情发生了。)
  • 在我看来,它们在 Chrome 和 Firefox 中也一样。
  • 用 chrome 检测我在 .test1 中得到 50x2,在 .test2 中得到 50x1.6
  • 可能有别名
  • 可能和屏幕有关,有的人看得见,有的人看不到

标签: html css google-chrome firefox


【解决方案1】:

这可能是浏览器错误,并受 Windows 显示比例因子的影响。默认显示比例因子为 125%。打开资源管理器窗口并转到“控制面板\所有控制面板项\显示”,然后将显示更改为“较小 - 100%”,然后重新启动计算机:

问题应该就解决了。

【讨论】:

  • 这并不能真正回答问题,因为很多用户将达到 125%,而您不能要求他们改变这一点。
  • 我补充说这可能是浏览器的错误。
猜你喜欢
  • 2014-02-28
  • 1970-01-01
  • 1970-01-01
  • 2011-02-09
  • 2012-12-31
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 2013-08-19
相关资源
最近更新 更多