Javascript iOS Safari 11上SVG元素上的CSS动画不工作
我有一个简单的SVG,当它进入视口时会产生动画(通过Javascript中添加的类)。这是一个简单的条形图,用来设置两个矩形元素高度的动画 除了iPadSafari11.1.2(可能在下面),它在任何地方都可以正常工作 当我删除动画时,SVG显示良好。通过javascript添加该类,并添加webkit供应商前缀以支持浏览器Javascript iOS Safari 11上SVG元素上的CSS动画不工作,javascript,html,ios,svg,css-animations,Javascript,Html,Ios,Svg,Css Animations,我有一个简单的SVG,当它进入视口时会产生动画(通过Javascript中添加的类)。这是一个简单的条形图,用来设置两个矩形元素高度的动画 除了iPadSafari11.1.2(可能在下面),它在任何地方都可以正常工作 当我删除动画时,SVG显示良好。通过javascript添加该类,并添加webkit供应商前缀以支持浏览器 <style type="text/css"> @keyframes draw { from { height: 0;
<style type="text/css">
@keyframes draw {
from {
height: 0;
}
to {
height: 110px;
}
}
@keyframes drawBig {
from {
height: 0;
}
to {
height: 360px;
}
}
@-webkit-keyframes draw {
from {
height: 0;
}
to {
height: 110px;
}
}
@-webkit-keyframes drawBig {
from {
height: 0;
}
to {
height: 360px;
}
}
.animate-bar {
animation: draw 1s linear forwards;
animation-play-state: paused;
-webkit-animation: draw 1s linear forwards;
-webkit-animation-play-state: paused;
}
.animate-bar.bar-large {
animation-name: drawBig;
-webkit-animation-name: drawBig;
}
.play .animate-bar {
animation-play-state: running;
-webkit-animation-play-state: running;
}
</style>
<svg id="diagram" viewBox="0 0 290 472" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="svg" stroke="none" stroke-width="1" fill="#000000" fill-rule="evenodd">
<g id="left">
<rect class="animate-bar" x="0" y="283" width="132" height="107" rx="3" transform="scale(1,-1) translate(0,-676)">
</rect>
<text font-weight="bold">
<tspan x="47.384" y="263">1129</tspan>
</text>
</g>
<g id="right" transform="translate(152,0)">
<rect class="animate-bar bar-large" fill="#EEE6E2" x="0" y="33" width="132" height="360" rx="3" transform="scale(1,-1) translate(0,-426)">
</rect>
<text font-weight="bold">
<tspan x="36.56" y="17">4000</tspan>
</text>
</g>
</g>
</svg>
@关键帧绘制{
从{
身高:0;
}
到{
高度:110px;
}
}
@关键帧变大{
从{
身高:0;
}
到{
高度:360px;
}
}
@-webkit关键帧绘制{
从{
身高:0;
}
到{
高度:110px;
}
}
@-webkit关键帧drawBig{
从{
身高:0;
}
到{
高度:360px;
}
}
.为工具栏设置动画{
动画:向前画1s直线;
动画播放状态:暂停;
-webkit动画:向前画1s线性;
-webkit动画播放状态:暂停;
}
.动画-条。条-大{
动画名称:drawBig;
-webkit动画名称:drawBig;
}
.播放。为工具栏设置动画{
动画播放状态:运行;
-webkit动画播放状态:正在运行;
}
1129
4000
CSS只是操纵动画中条的高度(在添加类之前暂停)
在iOS 11上,虽然这些条从来没有设置动画,所以两个高度都显示为0,而你也看不到
当我在dev工具中查看时,我可以看到DOM中闪烁的
元素表明发生了什么事情(尽管唯一应该操纵它们的是CSS动画),但是它们闪烁得非常快,所以我看不到发生了什么
我不知道还能尝试什么
下面是一些代码:
据我所知,除了iOS Safari 11及以下版本外,其他所有版本都适用尝试设置动画
transform:translateY(110px)代码>代替高度谢谢但不起作用