【发布时间】:2017-09-13 07:51:04
【问题描述】:
我遇到了一个关于 CSS 转换 scale 的非常令人沮丧的问题。我有一个文本块,我想在悬停时放大 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 的解决方案。
有什么想法吗?
【问题讨论】: