내가 잘못하고 있는지 확실하지 않은가요? 한 번에 SVG의 한 경로에서 두 속성을 애니메이션으로 만들 수 있습니까? 이 기능은 Firefox에서 기대할 수 있지만 Safari 나 Chrome에서는 기대하지 않습니다.CSS 애니메이션을 사용하여 한 번에 SVG의 두 속성에 애니메이션을 적용 할 수 있습니까?
예 SVG (분명히 어떤 경우에 필요한 접두사)
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 400 200" xmlns="http://www.w3.org/2000/svg" version="1.1">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="holder">
<path id="ShapeRight" d="M16,20 L21,16.5004951 C21,16.5004951 19.5760225,15.5035698 18.8640337,15.0051072 C17.9093558,14.336738 16,13 16,13 L16,20 L16,20 Z" opacity="0.55" fill="#999"></path>
</g>
</g>
</svg>
관련 말대꾸/CSS는 여기에
#holder {
#ShapeRight {
opacity: 1;
transform: scale(1);
animation: pulseArrow 2s forwards ease-in-out infinite;
transform-origin: 50% 50%;
display: inline-block;
}
}
@keyframes pulseArrow {
0% {
transform: scale(1) translateX(0);
opacity: 0;
}
50% {
transform: scale(2) translateX(0);
opacity: 1;
}
100% {
transform: scale(1) translateX(0);
opacity: 0;
}
}
는 Codepen의 감소이다 :
당신 애니메이션의 마지막 부분 만 적용된다는 것을 알 수 있습니다 (pacity). CSS를 사용하여 SVG에 애니메이션을 적용하는 데 한계가 있습니까?
감사합니다. Fernker, 네, 그런 접근 방식에 대해 생각해 보았습니다. 나는 내가하려고하는 것이 불가능해서는 안된다는 것을 알고 싶다. (예를 들어 나는 잘못하고있다.) 가능한 것이어야하고 크롬과 사파리 (예 : 잘못하고있다)에서 일하지 않아야한다. 이 시점에서 필자는 후자가 Firefox에서 완벽하게 작동한다고 생각하고 있습니다. –