css - 仅在 Windows Chrome 上使用变换比例会导致文本模糊

标签 css transform scale

我遇到了一个关于 CSS 转换 scale 的非常令人沮丧的问题。我有一个文本 block ,我想在悬停时将其缩放 105%,但它导致文本模糊,但仅限于 Windows 版本的 Chrome。我发现this question并尝试了那里提供的各种解决方案,但我仍然无法让它按预期工作。

body, html {
  font-family:'Open Sans', sans-serif;
}
.zoom {
  transition:transform .5s;
  width:300px;
  margin:50px auto;
}
  .zoom:hover {
    transform: scale(1.05) translateZ(0);
    will-change:transform;
  }
  .zoom h4 {
    font-size:2rem;
    line-height:2.5rem;
    -webkit-font-smoothing:antialiased;
    backface-visibility: hidden;
    -webkit-filter: blur(0);
    filter: blur(0);
    margin:0;
    text-transform:uppercase;
  }
  .zoom p {
    -webkit-font-smoothing:antialiased;
    backface-visibility:hidden;
    -webkit-filter:blur(0);
    filter:blur(0);
    margin:0;
  }
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<div class="zoom">                  
  <h4>Lorem Ipsum</h4>
  <p>Lorem ipsum dolor sit amet, conse ctetur adipiscing elit…</p>
</div>

正如我之前提到的,这似乎只是 Windows 版本的 Chrome 上的问题。在 OSX、FireFox 甚至 IE 的 Chrome 上,不会出现此问题。我愿意使用与 transform 不同的解决方案,只要动画具有像我的示例中那样的过渡。不过,我希望它成为纯 CSS 解决方案。

有什么想法吗?

最佳答案

我现在无法自己测试它,因为我手边没有 Windows 计算机,但也许您可以采取以下任一解决方案:

  1. backface-visibility:hidden; 添加到 .zoom
  2. .zoom:hover 属性上的 transform 更改为 transform:scale(1.05)translateZ(0);

应该触发GPU Material 加速,并且可能解决您在Chrome上的问题。但没有任何 promise 。祝你好运!

关于css - 仅在 Windows Chrome 上使用变换比例会导致文本模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43455815/

相关文章:

html - 如何将我的红色 block 并排放置?

具有变换比例的 CSS 动画在 Chrome、Safari 和 IE 中不起作用,但在 FF 中起作用

css - 如何在使用 onClick 动态更改图像时将图像缩放到现有 div 的大小?

css scale 在这个 div 上工作很奇怪

jquery - 视差滚动适用于 1 个图像但不适用于其他图像

ios - 如何隐藏 iPhone 上的 Tumblr 应用程序按钮?

css - 文本对齐文本 45 度

html - 使用 CSS 变换缩放打破位置 :fixed

使用转换 (STL) 时的 C++ 错误

javascript - Chart JS 日期-小时 AxesX