【发布时间】:2015-11-09 03:45:35
【问题描述】:
EDIT 2016-07-04(因为这个问题越来越流行):This is a bug in Chrome。开发者是actively working on a fix。
EDIT 2017-05-14这个bug好像已经修复了,修复会在Chrome 60中介绍
EDIT 2018-05-04 已合并修复,但 the bug still appears to be present。
所以我有一个非常难看的窗口,它通过这个 CSS 在屏幕上居中:
.popup
{
position: fixed;
top: 0;
bottom: 0;
transform: translate(-50%, -50%);
}
但是,在 Chrome 上看起来像这样(字体看起来很模糊):
但是在 Firefox 上是这样的:
当我删除 transform 规则时,文本看起来又漂亮又清晰,但它不再正确居中。
当我转到chrome://flags 并执行#disable-direct-write 时,它看起来更好,但用户显然不会这样做,它并不能解决问题。
如何在窗口居中的同时让我的字体看起来不错?
我的 chrome 版本是44.0.2403.155
我有一个使用 WebGL 的 three.js 演示,它在背景画布上呈现。当我禁用演示时,问题不再出现。
【问题讨论】:
-
亚像素渲染.....你能定义
.popup的宽度吗? -
@DanielA.White 我没有为
.popup定义宽度。 -
你可以吗?如果你这样做,那么你可以以不同的方式居中。
-
@DanielA.White 我可能会这样做,但我不想这样做。您的意思是将宽度设置为
x像素,然后执行margin-left的-x像素? -
@joppiesaus 您是否尝试添加
transform: translateZ(0)(在您的情况下是transform: translate3d(-50%, -50%, 0)?
标签: html css google-chrome chromium