gpt4 book ai didi

html - Safari 中的 CSS 旋转动画中断

转载 作者:可可西里 更新时间:2023-11-01 13:42:19 25 4
gpt4 key购买 nike

我今天在 Safari 中偶然发现了一个奇怪的行为,我无法弄清楚是什么导致了这个问题。

当创建一个以特定模式旋转 SVG 元素的动画时,在 Chrome 中一切正常,Safari 在每个动画步骤中只显示一半的 SVG。

当我从 .container 元素中删除 background-color: white; 时,一切正常。背景颜色如何导致这种行为?

这是一个演示视频以及相应的 JSFiddle:

JsFiddle: https://jsfiddle.net/04zgmbup/

Chrome(预期): Expected Animation Result in Chrome

Safari(意外): Unexpected Animation Result in Safari

最佳答案

好吧,显然我已经解决了这个问题。

Safari 似乎将容器背景作为一个平面来处理。这意味着当元素旋转时,一半将始终旋转到容器后面,容器具有覆盖元素本身的白色背景色。

我仍然不知道为什么其他浏览器不这样做。Safari 的一个可能解决方案是 translateZ(width/2) 元素,以便所有旋转都发生在背景平面的前面。

这是更新后的 fiddle ,在 Safari 中工作: https://jsfiddle.net/04zgmbup/1/

这个问题可以通过给容器一个半透明的背景颜色来很好地形象化。在下面的记录中,可以清楚地看到半个圆圈在容器后面旋转。

Problem clearly visible with a semi-transparent background

关于html - Safari 中的 CSS 旋转动画中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53790863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com