【问题标题】:Firefox text 1px lower than chrome and ieFirefox 文本比 chrome 和 ie 低 1px
【发布时间】:2012-06-16 18:34:11
【问题描述】:

这快把我逼疯了。 Firefox 文本比 chrome 和 ie 低 1px。这不是 html 或 body 上的边距或填充问题,尝试过。似乎也不是一个四舍五入的问题。这是一张图片:

第一个“Hello”是 Firefox 13,第二个“Hello”是 IE9,“Hello World”是 Chrome。

这里是代码(很简单):

<!DOCTYPE html>
<html lang="en-us">
    <head>
        <meta charset="utf-8">
        <!-- Always force latest IE rendering engine and chrome frame -->
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Pixel Bug?</title>
    <style type="text/css">
        html{
            font-size: 100%;
        }
        body{
            font-size: 1em;
            line-height: 1.5;
            background: white url('images/grid16.png') -4px -6px;
        }
        p{
            margin: 1.5em 0;
        }
    </style>
</head>
<body>
    <p>Hello World!</p>
    <p>Hello World 2!</p>
</body>
</html>

这只是一个错误吗?这里发生了什么?我不想只使用 FireFox,我只想了解为什么会这样。

编辑:

经过进一步研究,这似乎是一个渲染错误,但它仍然让我感到困惑。例如,文本的高度应为 24px。这不应该真正导致会导致这种情况的舍入错误。然而,如果我将 line-height 显式更改为 23px,它就会对齐。我不知道为什么。

EDIT2:可能的原因? https://bugzilla.mozilla.org/show_bug.cgi?id=442139

EDIT3:使用 20px 字体和 40px 行高排列。让我觉得这就是渲染错误。这很糟糕,因为 16/24 非常标准:/

【问题讨论】:

  • 我在使用 font-face 字体时遇到了这个问题,只能通过在 safari 中简单地设置更小的字体大小来解决这个问题(这是一个 safari 唯一的错误)。肮脏的解决方法,但它让客户高兴
  • 这可能是各种浏览器/操作系统使用的不同字体平滑技术。尝试在像素级别上进行匹配是徒劳的。
  • 这可能与硬件加速有关。尝试禁用硬件加速,看看是否有任何变化(在 options->advanced 下)
  • @Fidrizers jsfiddle.net/MfDkc 嗯。在 jsfiddle 中工作。让我觉得这实际上是一些奇怪的渲染错误。

标签: html css internet-explorer firefox google-chrome


【解决方案1】:

在这里查看我之前的回答:: CSS white-space and list-style-image do not stack in Firefox 11+

您没有使用 reset.css 从而产生问题

Here you can find many links for the reset.css 使用 reset.css 的原因是因为它将所有用户代理(浏览器)css 设置为基本设置,因此它们在不同的浏览器中看起来不会有所不同。

编辑:: 由于 OP 使用了 reset.css 。我无法重现该问题。所以其他原因可能是

另外,我同意@steveax 所说的。

编辑 2:: 如果你想深入了解一下。

【讨论】:

  • @Burning the Codeigniter 是的,我有。经过进一步搜索,它似乎是一个渲染错误,但它仍然让我感到困惑。例如,文本的高度应为 24px。这不应该真正导致会导致这种情况的舍入错误。然而,如果我将 line-height 显式更改为 23px,它就会对齐。我不知道为什么。
  • @PeachPassion 你用的是哪个重置?
  • 恕我直言,CSS 重置是一种解决问题的霰弹枪方法。我想知道的是需要“重置”哪个特定的 CSS 属性才能解决这个问题?但不知何故,我认为这与字体/浏览器有关,而不是与 CSS 相关。
  • 请不要再认为 CSS 重置是解决一切问题的魔杖了。如果添加 CSS 重置对您有帮助,请找出有问题的 CSS 属性并将其发布为答案;否则不要发布任何内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-08
  • 2015-02-19
  • 2020-08-11
  • 2014-06-25
  • 2012-04-26
相关资源
最近更新 更多