Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie ersetzt man veraltete SMIL-SVG-Animationen durch CSS- oder Web-Animationen?

Mary-Kate Olsen
Freigeben: 2024-10-27 07:17:29
Original
793 Leute haben es durchsucht

How to Replace Deprecating SMIL SVG Animations with CSS or Web Animations?

Veraltete SMIL-SVG-Animation und Ersatz durch CSS oder Web-Animationen

Aufgrund der veralteten SMIL-SVG-Animation sind alternative Ansätze mit CSS oder Webanimationen werden für eine bessere Leistung und Kompatibilität in modernen Browsern empfohlen. Hier finden Sie eine Erklärung zur Konvertierung der genannten SMIL-Animationen:

1. Hover-Effekt bei Mouseover

Ersetzen Sie die SMIL-Animations-Tags durch eine CSS-Hover-Pseudoklasse, um den gleichen Effekt zu erzielen.

/* Original SMIL */
<set attributeName="stroke-opacity" .../>
<set attributeName="stroke-opacity" .../>
/* CSS Equivalent */
.element_tpl:hover {
  stroke-opacity: 0.5;
}
Nach dem Login kopieren

2. Animation nach übernommener Änderung skalieren

Um diesen Effekt ohne Verwendung des Animate-Tags zu implementieren, können Sie die anfängliche Skalierungseigenschaft in Ihrer Vorlage festlegen und dann CSS-Übergänge verwenden, um die Skalierung zu animieren.

/* Original SMIL */
<animateTransform .../>
/* CSS Equivalent */
@media (all) {
  .element_tpl {
    transform: scale(1, 1.375);
    transition: transform 0.5s ease-in-out;
  }
  .element_tpl:hover {
    transform: scale(1.12, 1.375);
  }
}
Nach dem Login kopieren

3. Per Klick vergrößern und verkleinern

Für diesen Effekt kann eine Kombination aus CSS-Übergängen und JavaScript-Ereignishandlern verwendet werden.

/* Original SMIL */
<animateTransform .../>
<animateTransform .../>
/* CSS Equivalent */
@media (all) {
  .element_tpl {
    transition: transform 0.2s ease-in-out;
  }
  .element_tpl:active {
    transform: scale(1.1);
  }
}
/* JavaScript Event Handlers */
const element = document.querySelector('.element_tpl');
element.addEventListener('mousedown', () => { element.classList.add('active'); });
element.addEventListener('mouseup', () => { element.classList.remove('active'); });
Nach dem Login kopieren

Arbeitsbeispiel

Hier ist ein Arbeitsbeispiel, das die konvertierten CSS-Effekte zeigt: https://jsfiddle.net/7e2jeet0/

Das obige ist der detaillierte Inhalt vonWie ersetzt man veraltete SMIL-SVG-Animationen durch CSS- oder Web-Animationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!