


Wie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?
Verwenden Sie die Position: klebrig, um klebrige Köpfe zu erreichen; 2. Modernes CSS kann beim Scrollen durch Animationszeit automatisch schrumpfen: View (), aber die Browserunterstützung ist begrenzt. 3. Es wird empfohlen, JavaScript zu kombinieren, um auf Scroll -Ereignisse in Produktionsumgebungen zu hören. Wenn Sie nach unten Scrollen überschreiten, überschreitet er 50px, fügen Sie die Shrunk -Klasse hinzu, um den Kopf zu verkleinern, und entfernen Sie die Klasse, um den ursprünglichen Status beim Scrollen wiederherzustellen. 4. Optionale Optimierungen umfassen die Verwendung von Transformation oder Willenswechsel zur Verbesserung der Animationsleistung, achten Sie jedoch auf die Layout-Auswirkungen. Diese Lösung hat eine gute Kompatibilität und reibungslose Ergebnisse und eignet sich für modernes Webdesign.
Das Erstellen eines klebrigen Headers, der schrumpft, wenn der Benutzer die Seite nach unten scrollt, ist ein sauberes und modernes UX -Muster. Sie können diesen Effekt nur mit CSS (mit ein wenig Hilfe von position: sticky
und scrollgetriebene Animationen) erzielen, obwohl die vollständige Unterstützung für erweiterte Scroll-basierte Effekte möglicherweise die Berücksichtigung der Browserkompatibilität erfordern.

Hier erfahren Sie, wie Sie einen klebrigen Header erstellen, der mit reinem CSS mit einem fallback-freundlichen Ansatz auf Scrollen schrumpft .
✅ 1. Basic Sticky Header mit glattem Schrumpfen auf der Schriftrolle
Wir werden position: sticky
für die Animationen der Stickiness und der CSS-Scroll-gesteuerten Animationen (über scroll-timeline
und animation
)-eine neuere, aber elegante Methode. Wir werden bei Bedarf auch eine einfachere Alternative mit JavaScript zeigen.

HTML -Struktur
<Header class = "Sticky-Header"> <div class = "header-content"> <h1> Meine Website </h1> <nav> <a href = "#"> home </a> <a href = "#"> über </a> <a href = "#"> Kontakt </a> </nav> </div> </header> <!-Seiteninhalt, um das Scrollen zu aktivieren-> <main> <p> scrollen Sie nach unten, um den Effekt zu sehen ... </p> <!-Fügen Sie mehr Inhalte hinzu, um das Scrollen zu aktivieren-> <div style = "height: 200VH;"> </div> </main>
✅ 2. CSS: Klebiger Schrumpfen bei Scroll (moderne CSS mit Scroll -Zeitleiste)
Diese Methode verwendet CSS-scrollgesteuerte Animationen , die in modernen Browsern wie Chrome, Edge und Firefox (mit Flaggen) unterstützt werden.
.Sticky-Header { Position: klebrig; Top: 0; Hintergrund: #ffff; Polsterung: 20px 10px; Box-Shadow: 0 2px 10px RGBA (0, 0, 0, 0,1); Übergang: Polsterung von 0,3 Sekunden; / * Scroll Timeline definieren */ Animationszeit: View (); Animationsname: Shrink-Header; Animationsbereich: Eintrag 0% Cover 100%; Animations-Fill-Mode: Beide; Z-Index: 1000; } .Header-Content H1 { Rand: 0; Schriftgröße: 24px; Übergang: Schriftgröße 0,3s Leichtigkeit; } .header-content nav a { Rand-Links: 20px; Schriftgröße: 18px; Farbe: #333; Textdekoration: Keine; Übergang: Schriftgröße 0,3s Leichtigkeit; } / * Animation zum Schrumpfen der Header *// @keyframes Shrink-Header { aus { Padding-Block: 20px; } Zu { Padding-Block: 10px; } } / * Optional: auch den Text verkleinern *// .Sticky-Header: IS (: Zustand (geschrumpft)) .Header-Content H1 { Schriftgröße: 20px; }
? HINWEIS :
animation-timeline: view()
erstellt eine Zeitleiste basierend auf der Bildlaufposition des Elements in das Ansichtsfenster. Dies ist der Schlüssel zum scrollengebundenen Animationen in reinem CSS.
Die Browser-Unterstützung für animation-timeline
und @scroll-timeline
ist jedoch weiterhin begrenzt. Verwenden Sie für eine breitere Kompatibilität den folgenden JavaScript -Fallback.
✅ 3. Fallback: Pure CSS Minimal JavaScript (für die Produktion empfohlen)
Wenn Sie eine breite Browserunterstützung (Safari, älteres Chrom usw.) benötigen, kombinieren Sie CSS -Klassen mit einem kleinen JavaScript, um die Bildlaufposition zu erkennen.
CSS aktualisiert
.Sticky-Header { Position: klebrig; Top: 0; Hintergrund: #ffff; Polsterung: 20px 10px; Box-Shadow: 0 2px 10px RGBA (0, 0, 0, 0,1); Übergang: Polsterung von 0,3 Sekunden; Z-Index: 1000; } .Sticky-header.shrunk { Polsterung: 10px; } .Sticky-header.shrunk H1 { Schriftgröße: 20px; } .Sticky-header.shrunk nav a { Schriftgröße: 16px; }
JavaScript, um die Klasse zum Scrollen hinzuzufügen
const header = document.querySelector ('. Sticky-Header'); lastScrolltop = 0; window.addeventListener ('scroll', () => { const currentscrolltop = fenster.scrolly; // nur beim Scrollen auslösen if (currentscrolltop> lastScrolltop && currentscrolltop> 50) { Header.ClassList.add ('Shrunk'); } anders { Header.ClassList.remove ('Shrunk'); } lastScrolltop = currentscrolltop; });
? Dieser Ansatz ist zuverlässig und weit verbreitet. Der Header schrumpft beim Scrollen nach über 50px und erweitert sich beim Scrollen zurück.
✅ 4. optionale Verbesserungen
- Verwenden Sie
will-change: transform
odertransform: scale()
für glatte Animationen. - Fügen Sie
requestAnimationFrame
hinzu, um die Bildlaufleistung zu optimieren. - Bei Bedarf Scroll -Events entlarven oder drosseln.
Beispiel mit transform
für eine glattere Skalierung:
.Sticky-header.shrunk { Transformation: Skala (0,95); Transform-Origin: Top Center; }
Aber seien Sie vorsichtig - transform
kann das Layout beeinflussen. Halten Sie sich an Änderungen padding
und font-size
für sicherere Ergebnisse.
Zusammenfassung
- Verwenden Sie
position: sticky
für Klebrigkeit. - Für moderne Browser: Probieren Sie CSS-scrollgesteuerte Animationen (
animation-timeline: view()
). - Für die Produktion: Verwenden Sie CSS -Übergänge JavaScript, um eine
.shrunk
-Klasse auf Scroll zu umschalten. - Testen Sie immer auf mobilen und unterschiedlichen Bildschirmgrößen.
Grundsätzlich handelt es sich um eine Kombination aus klebrigen Positionierung, reibungslosen Übergängen und Scroll -Erkennung - einfach, aber effektiv.
Das obige ist der detaillierte Inhalt vonWie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

User Agent Stylesheets sind die Standard -CSS -Stile, die Browser automatisch gelten, um sicherzustellen, dass HTML -Elemente, die keine benutzerdefinierten Stile hinzugefügt haben, immer noch grundlegend lesbar sind. Sie beeinflussen das anfängliche Erscheinungsbild der Seite, es gibt jedoch Unterschiede zwischen Browsern, die zu einer inkonsistenten Anzeige führen können. Entwickler lösen dieses Problem häufig durch Zurücksetzen oder Standardisierungsstile. Verwenden Sie das Computer- oder Stilfeld der Entwickler -Tools, um die Standardstile anzuzeigen. Zu den gemeinsamen Abdeckungsvorgängen gehören das Löschen innerer und äußerer Margen, Änderungen von Link -Unterstrichen, die Anpassung der Titelgrößen und die Vereinigung der Schaltflächenstile. Das Verständnis von User Agent-Stilen kann dazu beitragen, die konsistente Cross-Browser-Konsistenz zu verbessern und eine präzise Layout-Steuerung zu ermöglichen.

Backdrop-Filter wird verwendet, um visuelle Effekte auf den Inhalt der Elemente anzuwenden. 1. Verwenden Sie Backdrop-Filter: Blur (10px) und andere Syntax, um den frostierten Glasffekt zu erzielen. 2. unterstützt mehrere Filterfunktionen wie Unschärfe, Helligkeit, Kontrast usw. und kann überlagert werden. 3. Es wird häufig in der Glaskartendesign verwendet, und es ist notwendig, sicherzustellen, dass sich die Elemente mit dem Hintergrund überschneiden. 4. Moderne Browser haben eine gute Unterstützung, und @Supports können verwendet werden, um Downgrade -Lösungen bereitzustellen. 5. Vermeiden Sie übermäßige Unschärfewerte und häufiges Neuzuziehen, um die Leistung zu optimieren. Dieses Attribut wirkt sich nur aus, wenn sich hinter den Elementen Inhalte befinden.

VW- und VH -Einheiten erreichen reaktionsschnelles Design, indem sie Elementgrößen mit Ansichtsfenster und Höhe in Verbindung bringen. 1 VW entspricht 1% der Ansichtsfensterbreite, und 1 VH entspricht 1% der Ansichtsfensterhöhe; häufig im Vollbildbereich, reaktionsschnellen Schriftarten und elastischen Abstand verwendet; 1. Verwenden Sie im Vollbildbereich 100VH oder besser 100DVH, um den Einfluss der Mobile Browser -Adressleiste zu vermeiden. 2. Responsive Schriftarten können mit 5 VW begrenzt und mit einer Klemme (1,5REM, 3VW, 3REM) in Kombination der minimalen und maximalen Größe begrenzt werden. 3. Elastischer Abstand wie Breite: 80VW, Rand: 5VHAUTO, Polsterung: 2VH3VW, kann das Layout anpassungsfähig machen; Achten Sie auf Kompatibilität, Zugänglichkeit und Inhaltskonflikte für mobile Geräte. Es wird empfohlen, zuerst DVH zu verwenden.

Thespect-ratiocsSpropertydefinästhespen-to-hweigthtratioofanelemente, sicherzustellen, dass die Verbreitung von Verantwortung durchgesetzt wird

Die: Leerepseudo-KlasseSelectSselementsWithnochildrenorContent, einschließlich Spacesorcomponenten, SoonlyTryEmptyElementslikematchit; 1.itcanhideemptyContainersByusing: leer {display: none;} tocleanuPlayouts; 2.itallowsaddingPlaceLylingsSylingvise :::.

Definieren Sie@keyframesBounceWith0%, 100%Attranslatey (0) und 50%Attranslatey (-20px) TocreateabasicBounce.2.ApplytheanimationToanelementusingAnimimation: Bounce0.6Sease-In-Outinfinfinitmooth, ContinuousMotion.3.Forrealism, verwendet@keyFramesrealist

Verwenden Sie einen DIV mit Rand, um schnell vertikale Linien zu erstellen und Stile und Höhen zu definieren, indem Sie randlinks und Höhe einstellen. 2. Verwendung :: vor oder :: Nach Pseudoelementen, um vertikale Linien ohne zusätzliche HTML-Tags hinzuzufügen, die für die dekorative Trennung geeignet sind; 3. In Flexbox -Layout können adaptive vertikale Trennwände zwischen elastischen Behältern erreicht werden, indem die Breite und die Hintergrundfarbe der Trennklasse festgelegt werden. 4. Fügen Sie in CSSGrid vertikale Linien als unabhängige Spalten (z. B. Autowidth -Spalten) in das Gitterlayout ein, das für reaktionsschnelles Design geeignet ist. Die am besten geeignete Methode sollte gemäß dem spezifischen Layout ausgewählt werden, um sicherzustellen, dass die Struktur einfach und leicht zu warten ist.

Die CSS-Pseudo-Klasse ist ein Schlüsselwort, mit dem der spezielle Zustand eines Elements definiert wird. Es kann dynamisch Stile anwenden, basierend auf Benutzerinteraktion oder Dokumentenort. 1.: Hover wird ausgelöst, wenn die Maus schwebt, z. B. die Taste: HOVER ändert die Knopffarbe. 2.: Fokus wirkt sich in Wirksamkeit, wenn das Element den Fokus erhält und die Zugänglichkeit verbessert. 3.: nt-child () wählt Elemente nach Position aus und unterstützt ungerade, sogar oder Formeln wie 2n 1; 4.: Erstkind und: Last-Kind Wählen Sie die ersten bzw. letzten Kinderelemente aus; 5.:Not () schließt Elemente aus, die den angegebenen Bedingungen entsprechen; 6.: Besuchen und: Link -Set -Stile basierend auf dem Linkzugriffsstatus, aber: Besucht wird durch Privatsphäre eingeschränkt.
