Wie kann man ein SVG-Element beim Scrollen um 50 Pixel nach oben verschieben und verkleinern?

Antwort

Um ein SVG-Element beim Scrollen nach unten um 50 Pixel nach oben zu verschieben und gleichzeitig zu verkleinern, kannst du JavaScript in Kombination mit CSS verwenden. Hier ist ein einfaches Beispiel, wie du das umsetzen kannst: 1. **HTML**: Füge dein SVG-Element in das HTML-Dokument ein. ```html <svg id="mySVG" width="100" height="100" xmlns="http://www.w3.org/2000/svg"> <circle cx="50" cy="50" r="40" fill="blue" /> </svg> ``` 2. **CSS**: Setze die Position des SVG-Elements. ```css #mySVG { position: relative; transition: transform 0.2s ease, width 0.2s ease, height 0.2s ease; } ``` 3. **JavaScript**: Füge einen Scroll-Event-Listener hinzu, um die Position und Größe des SVG-Elements zu ändern. ```javascript window.addEventListener('scroll', function() { const svg = document.getElementById('mySVG'); const scrollY = window.scrollY; // Berechne die neue Position und Größe const newY = Math.max(0, 50 - scrollY); // Verschiebung um 50 Pixel nach oben const newSize = Math.max(10, 100 - scrollY / 2); // Verkleinerung // Wende die Transformation an svg.style.transform = `translateY(-${newY}px)`; svg.setAttribute('width', newSize); svg.setAttribute('height', newSize); }); ``` In diesem Beispiel wird das SVG-Element um 50 Pixel nach oben verschoben, wenn du nach unten scrollst, und gleichzeitig wird es verkleinert. Die `Math.max`-Funktion sorgt dafür, dass die Werte nicht negativ werden. Du kannst die Werte und die Logik nach Bedarf anpassen.

Kategorie: Webdesign Tags: SVG Scrollen Animation
Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie verkleinert man ein SVG beim Scrollen?

Um ein SVG beim Scrollen zu verkleinern, kannst du JavaScript oder CSS verwenden. Hier ist ein einfaches Beispiel mit JavaScript: 1. **HTML**: Füge dein SVG in das HTML-Dokument ein. ```html &l... [mehr]

Wie kann man in CSS Transition sowohl die Scroll-Funktion als auch die Scale- und Filter-Funktion verwenden?

Um in CSS eine Transition zu erstellen, die sowohl die Scroll-Funktion als auch die `scale`- und `filter`-Eigenschaften verwendet, kannst du die `transition`-Eigenschaft in Kombination mit JavaScript... [mehr]

Wie ändert man in einem als img eingebundenen SVG mit CSS die Farbe?

Um die Farbe eines in einem `<img>`-Tag eingebundenen SVG mit CSS zu ändern, gibt es einige Einschränkungen, da CSS nicht direkt auf den Inhalt eines SVGs zugreifen kann, das als Bild... [mehr]

Overlay über gesamte Seite und Layer von links nach rechts?

Um ein Overlay über die gesamte Seite zu erstellen und einen Layer von links nach rechts zu animieren, kannst du HTML und CSS verwenden. Hier ist ein einfaches Beispiel: ```html <!DOCTYPE htm... [mehr]

Wie kann man in CSS einen Layer einsliden lassen?

Um in CSS einen Layer (z. B. ein div-Element) einsliden zu lassen, kannst du CSS-Animationen oder Transitionen verwenden. Hier ist ein einfaches Beispiel wie du einen Layer von der Seite hereinsliden... [mehr]