문제:
SMIL의 애니메이션 태그는 더 이상 사용되지 않으며 CSS 호버 전환이 필요합니다. 이를 대체하기 위해 구현되었습니다.
해결책:
설정 태그를 제거하고 CSS를 element_tpl:hover 의사 클래스에 추가합니다:
.element_tpl:hover {
stroke-opacity: 0.5;
}
문제:
변경 시 몇 배로 크기가 조정되도록 요소에 애니메이션을 적용합니다.
해결책:
다음 옵션을 고려하십시오:
@keyframes scale-animation {
0% { transform: scale(1); }
50% { transform: scale(1.12); }
100% { transform: scale(1); }
}
그런 다음 요소에 애니메이션을 적용합니다.
.element_tpl {
animation: scale-animation 0.5s infinite alternate;
}
// Create a new animation
const animation = document.timeline.addAnimation();
// Define keyframes
const keyframes = [
{ transform: 'scale(1)', offset: 0 },
{ transform: 'scale(1.12)', offset: 0.5 },
{ transform: 'scale(1)', offset: 1 }
];
// Apply keyframes to the animation
animation.effect = keyframes;
// Target the element
animation.target = document.querySelector('.element_tpl');
문제:
요소에 애니메이션을 적용하여 크기를 확대하고 클릭 시 아래로 이동합니다.
해결책:
.element_tpl {
transition: transform 0.2s;
}
.element_tpl:active {
transform: scale(1.1);
}
// Add event listener
document.querySelector('.element_tpl').addEventListener('click', (event) => {
// Create a new animation
const animation = document.timeline.addAnimation();
// Define keyframes
const keyframes = [
{ transform: 'scale(1)', offset: 0 },
{ transform: 'scale(1.1)', offset: 0.2 },
{ transform: 'scale(1)', offset: 0.4 },
];
// Apply keyframes to the animation
animation.effect = keyframes;
// Target the element
animation.target = event.target;
});
문제:
SMIL 애니메이션을 CSS 또는 웹 애니메이션으로 전송합니다.
해결책:
Eric Willigers가 만든 SMIL 폴리필을 사용하세요: https://github.com/ericwilligers/svg-animation. 이 폴리필은 SMIL 애니메이션을 웹 애니메이션으로 변환하여 이를 구현하는 대체 방법을 제공합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3