Html 四舍五入线高度

Html 四舍五入线高度,html,css,Html,Css,chrome似乎将计算的行高度的值四舍五入 例如: 行高:1.33和字体大小:11px将计算行高:14px 而精确的值是14.66,所以我希望线的高度等于15px 你知道有没有办法强迫浏览器将计算值向上取整而不是向下取整?Chrome会将小数截断为整数像素值。其他浏览器(FF)将舍入到最接近的整数像素值。不过,它们都将使用十进制值来计算子值 您可以尝试使用translateZ强制其中包含文本的元素进行图形加速,这“可能”允许对文本进行亚像素渲染。如果它真的起作用,它很可能只在Chrome中起作用

chrome似乎将计算的
行高度的值四舍五入

例如:

行高:1.33
字体大小:11px
将计算
行高:14px

而精确的值是14.66,所以我希望线的高度等于15px


你知道有没有办法强迫浏览器将计算值向上取整而不是向下取整?

Chrome会将小数截断为整数像素值。其他浏览器(FF)将舍入到最接近的整数像素值。不过,它们都将使用十进制值来计算子值

您可以尝试使用translateZ强制其中包含文本的元素进行图形加速,这“可能”允许对文本进行亚像素渲染。如果它真的起作用,它很可能只在Chrome中起作用

#elm {
    transform: translateZ(0);
}

您可以以任何单位指定特定的
行高
,例如
行高:2.2rem
如果计算
rem
大小,使其在所有浏览器中均为偶数,则可以避免舍入问题,例如,如果设置默认值:

html {
  font-size: 62.5%; /* 10px = 1rem */
}

然后,在任何时候将线宽设置为某个值,例如
线宽:2.2rem它最终将恰好是
22px
。这在所有浏览器中都是一样的。

感谢您指出浏览器不一致的地方。我在firefox上试用过,它的计算结果是14.66,所以它甚至没有达到整数。我想知道在保持a行高度比的同时,在浏览器之间进行相同渲染的最佳方法是什么。@pgn-不幸的是,它们都使用不同的渲染引擎和相关规范的解释。如果translateZ(0)技巧在Chrome上不起作用,那么你将更深入地进行疯狂的黑客攻击。如果有一把众所周知的枪指着我的头,我会尝试用SVG或画布来呈现文本。我想问一下,你最终是如何解决这个问题的?