”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么使用“transform:scale()”后我的文本在 Chrome 中变得模糊?

为什么使用“transform:scale()”后我的文本在 Chrome 中变得模糊?

发布于2024-12-24
浏览:637

Why is My Text Blurry in Chrome After Using `transform: scale()`?

变换后 Chrome 中的文本模糊:scale()

在最近的 Chrome 更新中,出现了一个特殊问题,即使用 CSS 变换呈现的文本:scale() 属性显得模糊。使用以下特定代码时已观察到此问题:

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
  }

  70% {
    -webkit-transform: scale(.9);
  }

  100% {
    -webkit-transform: scale(1);
  }
}

在 Chrome 中访问 rourkery.com 会发现主文本区域存在问题,而其他 WebKit 浏览器(如 Safari)似乎不受影响。

模糊文本难题的解决方案

要解决此问题,可以采用两种方法使用:

  1. 背面可见性隐藏:此技术通过将动画简化为对象的正面,消除默认的正面和背面状态来解决此问题。 &&&]

    背面可见性: hidden;
    backface-visibility: hidden;
  2. TranslateZ: 此 hack 激活动画的硬件加速,有效解决渲染问题。

    transform: translateZ(0);
    backface-visibility: hidden;
另外,有些用户发现添加了以下属性有益:

-webkit-font-smoothing:子像素抗锯齿;
            
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3