Inhaltsverzeichnis
✅ 1. Basic Sticky Header mit glattem Schrumpfen auf der Schriftrolle
HTML -Struktur
✅ 2. CSS: Klebiger Schrumpfen bei Scroll (moderne CSS mit Scroll -Zeitleiste)
✅ 3. Fallback: Pure CSS Minimal JavaScript (für die Produktion empfohlen)
CSS aktualisiert
JavaScript, um die Klasse zum Scrollen hinzuzufügen
✅ 4. optionale Verbesserungen
Zusammenfassung
Heim Web-Frontend CSS-Tutorial Wie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?

Wie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?

Aug 04, 2025 pm 04:37 PM

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.

Wie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?

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.

Wie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?

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.

Wie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?

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.

Wie erstelle ich einen klebrigen Header, der auf Scrollen mit CSS schrumpft?

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 (&#39;. Sticky-Header&#39;);
lastScrolltop = 0;

window.addeventListener (&#39;scroll&#39;, () => {
  const currentscrolltop = fenster.scrolly;

  // nur beim Scrollen auslösen
  if (currentscrolltop> lastScrolltop && currentscrolltop> 50) {
    Header.ClassList.add (&#39;Shrunk&#39;);
  } anders {
    Header.ClassList.remove (&#39;Shrunk&#39;);
  }

  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 oder transform: 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!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1600
276
Was sind User Agent Stylesheets? Was sind User Agent Stylesheets? Jul 31, 2025 am 10:35 AM

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.

Wie benutze ich das CSS-Backdrop-Filter-Eigenschaft? Wie benutze ich das CSS-Backdrop-Filter-Eigenschaft? Aug 02, 2025 pm 12:11 PM

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.

So verwenden Sie VW- und VH -Einheiten in CSS So verwenden Sie VW- und VH -Einheiten in CSS Aug 07, 2025 pm 11:44 PM

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.

Was ist die CSS-Aspekt-Verhältnis-Eigenschaft und wie kann ich sie verwenden? Was ist die CSS-Aspekt-Verhältnis-Eigenschaft und wie kann ich sie verwenden? Aug 04, 2025 pm 04:38 PM

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

Wie benutze ich die CSS: leere Pseudoklasse? Wie benutze ich die CSS: leere Pseudoklasse? Aug 05, 2025 am 09:48 AM

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

Wie erstelle ich eine springende Animation mit CSS? Wie erstelle ich eine springende Animation mit CSS? Aug 02, 2025 am 05:44 AM

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

So erstellen Sie eine vertikale Linie mit CSS So erstellen Sie eine vertikale Linie mit CSS Aug 11, 2025 pm 12:49 PM

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.

Was sind CSS-Pseudoklassen und wie man sie benutzt? Was sind CSS-Pseudoklassen und wie man sie benutzt? Aug 06, 2025 pm 01:06 PM

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.

See all articles