我正在以某种方式修改this example以便在我的应用程序中使用。这在Chrome和FF中很棒,但在Safari中,并没有那么多。如果你看起来你会在Chrome中看到饼图看起来像预期的那样,但在Safari中它们都是“整体”。
css(从示例中复制)看起来像这样:
.pie {
display: inline-block;
position: relative;
width: 100px;
line-height: 100px;
border-radius: 50%;
background: yellowgreen;
background-image: linear-gradient(to right, transparent 50%, #655 0);
color: transparent;
text-align: center;
}
@keyframes spin {
to { transform: rotate(.5turn); }
}
@keyframes bg {
50% { background: #655; }
}
.pie::before {
content: '';
position: absolute;
top: 0; left: 50%;
width: 50%; height: 100%;
border-radius: 0 100% 100% 0 / 50%;
background-color: inherit;
transform-origin: left;
animation: spin 50s linear infinite, bg 100s step-end infinite;
animation-play-state: paused; <-- Safari's issue
animation-delay: inherit;
}
我注意到代码中的倒数第二行来识别问题。当animation-play-state
设置为paused
时,Safari不会将动画置于animation-delay
设置的初始条件中。 Chrome和FF似乎会查看animation-delay
,将动画置于该延迟状态,然后暂停。
我是否缺少一种解决方法,Safari会将动画置于初始状态然后保持暂停状态?