Maison >interface Web >tutoriel CSS >Comment puis-je remplacer les animations SMIL obsolètes par des animations CSS ou Web ?
Problème :
La balise d'animation de SMIL est obsolète et les transitions de survol CSS doivent être implémenté pour le remplacer.
Solution :
Supprimez les balises définies et ajoutez du CSS à la pseudo-classe element_tpl:hover :
<code class="css">.element_tpl:hover { stroke-opacity: 0.5; }</code>
Problème :
Animer l'élément pour le mettre à l'échelle plusieurs fois lors d'un changement engagé.
Solution :
Considérez le options suivantes :
<code class="css">@keyframes scale-animation { 0% { transform: scale(1); } 50% { transform: scale(1.12); } 100% { transform: scale(1); } }</code>
Appliquez ensuite l'animation à l'élément :
<code class="css">.element_tpl { animation: scale-animation 0.5s infinite alternate; }</code>
<code class="javascript">// 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');</code>
Problème :
Animez l'élément pour augmenter ou réduire l'échelle en cliquant.
Solution :
<code class="css">.element_tpl { transition: transform 0.2s; } .element_tpl:active { transform: scale(1.1); }</code>
<code class="javascript">// 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; });</code>
Problème :
Transférer les animations SMIL vers CSS ou Animations Web.
Solution :
Utilisez le polyfill SMIL créé par Eric Willigers : https://github.com/ericwilligers/svg-animation. Ce polyfill convertit les animations SMIL en animations Web, offrant ainsi un moyen alternatif de les implémenter.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!