javascript - 在 Chrome 中进行 CSS 转换缩放时,如何阻止边框模糊?

标签 javascript css reactjs google-chrome

以使用 react-pose 为“弹出到页面”的元素设置动画的示例为例: https://codesandbox.io/s/qljpvpowp9 在 Firefox、Safari 甚至 IE 上,spinner 元素呈现良好:

FF

但在 Chrome 71 上,CSS 半圆(边框 + 边框半径)模糊得面目全非:

Chrome

我知道这是因为 Chrome 最初是在元素初始化时以低比例渲染边框的像素,但我该如何解决这个问题?有没有我可以设置的 CSS 属性来首先阻止这种情况发生,或者有一种方法可以在缩放动画完成后触发重绘?

最佳答案

只需为缩放动画添加关键帧:

const scaling = keyframes`
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
`;

然后更改微调器的动画:

animation: ${scaling} 0.5s, ${spin} 1s infinite linear;

fork 代码沙箱:https://codesandbox.io/s/81pmjjz60

希望这会有所帮助。

关于javascript - 在 Chrome 中进行 CSS 转换缩放时,如何阻止边框模糊?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54100786/

相关文章:

html - 更改 Bootstrap Jumbotron 的 h1 颜色

javascript - express-stormpath w/react-stormpath : this. context.user 不反射(reflect)用户最近添加到的组

reactjs - Typescript + Webpack 项目中缺少源映射

javascript - 如何将事件类添加到滚动我的事件内的正确导航项?

jquery 对话框和 css 问题给痛苦

javascript - 样式表的css处理顺序

jquery - 为什么内容在 IE7 中不环绕 float 图像?

reactjs - Material UI Tab 标签 font-size 真的很小

php - 页面重定向方法 - Javascript 还是 PHP?

Javascript - 正则表达式 - 获取介于/*color_1*/和/*color_1_end*/之间的字符串