问题:
SMIL 的 animate 标签已弃用,需要 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 或 Web 动画。
解决方案:
使用 Eric Willigers 创建的 SMIL polyfill: https://github.com/ericwilligers/svg-animation。这个polyfill将SMIL动画转换为Web动画,提供了另一种实现它们的方法。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3