Wie kann man mit CSS und JavaScript ein Logo beim Scrollen verkleinern und vergrößern?

Antwort

Um ein Logo beim Scrollen der Webseite zu verkleinern und beim nach oben Scrollen wieder zu vergrößern, kannst du CSS für das Styling und JavaScript für die Scroll-Logik verwenden. Hier ist ein einfaches Beispiel, wie du das umsetzen kannst: ### HTML ```html <!DOCTYPE html> <html lang="de"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Logo Scroll Effekt</title> <link rel="stylesheet" href="styles.css"> </head> <body> <header> <img id="logo" src="dein-logo.png" alt="Logo"> </header> <main> <div style="height: 2000px;">Inhalt hier...</div> </main> <script src="script.js"></script> </body> </html> ``` ### CSS (styles.css) ```css body { margin: 0; font-family: Arial, sans-serif; } header { position: fixed; top: 0; left: 0; right: 0; background: white; text-align: center; padding: 10px; transition: padding 0.3s; } #logo { width: 100px; /* Ausgangsgröße */ transition: width 0.3s; } ``` ### JavaScript (script.js) ```javascript let lastScrollTop = 0; const logo = document.getElementById('logo'); const header = document.querySelector('header'); window.addEventListener('scroll', function() { let scrollTop = window.pageYOffset || document.documentElement.scrollTop; if (scrollTop > lastScrollTop) { // Nach unten scrollen logo.style.width = '70px'; // Verkleinern header.style.padding = '5px'; // Header-Padding anpassen } else { // Nach oben scrollen logo.style.width = '100px'; // Vergrößern header.style.padding = '10px'; // Header-Padding zurücksetzen } lastScrollTop = scrollTop <= 0 ? 0 : scrollTop; // Für Mobile oder negative Scroll-Positionen }); ``` ### Erklärung - **HTML**: Das Grundgerüst mit einem Header, der das Logo enthält, und einem Hauptbereich mit viel Inhalt zum Scrollen. - **CSS**: Stile für den Header und das Logo, einschließlich Übergängen für eine sanfte Animation. - **JavaScript**: Ein Event-Listener für das Scrollen, der die Scrollrichtung überprüft und die Größe des Logos sowie das Padding des Headers entsprechend anpasst. Mit diesem Code wird das Logo beim Scrollen nach unten kleiner und beim Scrollen nach oben wieder größer.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie realisiert man mit JavaScript unter Drupal 10, dass ein DIV beim Scrollen nach oben fixiert wird, wenn es 100 Pixel von oben entfernt ist?

Um ein `div` in Drupal 10 mit reinem JavaScript (ohne jQuery) beim Scrollen zu fixieren, wenn es 100 Pixel von oben entfernt ist, kannst du folgenden Ansatz verwenden: 1. Füge deinem Theme eine... [mehr]

Wie kann man JavaScript- und CSS-Dateien komprimieren?

Die Komprimierung von JavaScript- und CSS-Dateien ist ein wichtiger Schritt zur Optimierung der Ladezeiten von Webseiten. Hier sind einige gängige Methoden zur Komprimierung: 1. **Minifizierung*... [mehr]

Wie fügt man <li>-Tag innerhalb eines <ul> mit Klassen tabs primary nav-tabs drupal-tabs mit JavaScript die Klasse col-lg-3 hinzu?

Um mit JavaScript `<li>`-Tags innerhalb eines `<ul>`-Elements, das die Klassen `tabs primary nav-tabs drupal-tabs` hat, die Klasse `col-lg-3` hinzuzufügen, kannst du den folgenden Cod... [mehr]

Wie ändert man die Style-Height eines Divs mit der Klasse fc-scroller fc-day-grid-container in JS?

Um die `style.height` eines `div`-Elements mit der Klasse `fc-scroller fc-day-grid-container` in JavaScript zu ändern, kannst du den folgenden Code verwenden: ```javascript // Wähle das Ele... [mehr]

Wie kann man die Höhe eines divs beim Scrollen nach unten um 50% verkleinern?

Um die Höhe eines `div`-Elements beim Scrollen nach unten um 50% zu verkleinern, kannst du JavaScript in Kombination mit CSS verwenden. Hier ist ein einfaches Beispiel, wie du das umsetzen kannst... [mehr]

SVG beim Scrollen um 50 Pixel nach oben verschieben und dynamisch verkleinern.

Um ein SVG beim Scrollen um 50 Pixel nach oben zu verschieben und es dynamisch zu verkleinern, kannst du JavaScript in Kombination mit CSS verwenden. Hier ist ein einfaches Beispiel, wie du das umsetz... [mehr]

Wie verschiebt man ein SVG beim Scrollen um 50 Pixel nach oben?

Um ein SVG-Element beim Scrollen nach unten um 50 Pixel nach oben zu verschieben, kannst du JavaScript in Kombination mit CSS verwenden. Hier ist ein einfaches Beispiel, wie du das umsetzen kannst: 1... [mehr]

Wie entfernt man ein Class Attribut aus CSS mit JavaScript?

Um ein CSS-Klassenattribut mit JavaScript zu entfernen, kannst du die Methode `classList.remove()` verwenden. Hier ist ein einfaches Beispiel: ```javascript // Angenommen, du hast ein Element mit der... [mehr]

Grafik je nach Hell- oder Dunkelmodus mit CSS und JavaScript austauschen.

Um eine Grafik je nach Modus (hell oder dunkel) mit CSS und JavaScript auszutauschen, kannst du folgende Schritte befolgen: 1. **CSS-Klassen für die Modi definieren**: Erstelle zwei CSS-Klassen,... [mehr]

CSS in Twig?

In Twig kannst du CSS auf verschiedene Arten einbinden. Hier sind einige gängige Methoden: 1. **Direktes Einfügen von CSS in die Twig-Datei**: Du kannst CSS direkt in den `<style>`... [mehr]