Heim Web-Frontend CSS-Tutorial Implementierung 'More/weniger' -Funktionalität mit reinem CSS

Implementierung 'More/weniger' -Funktionalität mit reinem CSS

Feb 24, 2025 am 09:24 AM

Implementing

moderne Webentwicklung nutzt CSS häufig zum Erstellen dynamischer Elemente wie Sliders, Modal und Tooltips, wodurch JavaScript -Vertrauen minimiert wird. Dieser Artikel zeigt einen reinen CSS-Ansatz zur Implementierung von "More/weniger" -Funktionalität und erstellt sogar ein Beispiel für funktionale Akkordeon-Stil. Wir werden Techniken, potenzielle Probleme und Lösungen untersuchen. Überlegungen zur Zugänglichkeit sind hier weggelassen, sind jedoch ein entscheidender Aspekt für die zukünftige Verbesserung.

Schlüsselkonzepte:

Dieser CSS-Nur-"-Stempel" stützt sich auf den "Checkbox Hack" und den Geschwisterauswahlern. Die HTML -Struktur verwendet eine ungeordnete Liste. Das letzte Element enthält ein verstecktes Kontrollkästchen und sein Etikett. Eine verschachtelte, ungeordnete Liste hält den zu angezeigten/versteckten Inhalt. Die Eigenschaften max-height und transition CSS steuern die glatte Enthüllung/verbergen. Es können Browser -Inkonsistenzen existieren; Zum Beispiel kann sich das Cursorverhalten in den Browsern unterscheiden.

Essentielles CSS -Wissen:

Das Folgende verstehen ist von entscheidender Bedeutung:

<ul>
  • Allgemeines Geschwisterauswahl (~) : Wählt alle Geschwister nach einem angegebenen Element aus.
  • benachbarter Geschwisterauswahl Kontrollkästchen Hack
  • : Verwenden des geprüften Status eines Kontrollkästchens, um CSS -Änderungen auszulösen.
  • Eine Codepen -Demo (Link weggelassen, wie sie nicht im Eingang angegeben ist) liefert interaktive Beispiele für diese Techniken.
  • HTML -Struktur: </p>

    Die grundlegende HTML -Struktur ist (vom Original vereinfacht):

    </p> Styling des Kontrollkästchen -Containers:

    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li class="container">
        <input type="checkbox" id="showHide">
        <label for="showHide"></label>
        <ul>
          <li>Hidden Item 1</li>
          <li>Hidden Item 2</li>
        </ul>
      </li>
    </ul>
    Nach dem Login kopieren

    Die Stile positionieren das Etikett und verbergen das Kontrollkästchen:

    .container Der Inhalt des Etiketts ("mehr" oder "weniger") und die Animation werden mit Pseudo-Elementen (

    und
    .container {
      position: relative;
      height: auto;
    }
    
    [type="checkbox"] {
      position: absolute;
      left: -9999px;
    }
    
    label {
      background: #e4e3df;
      display: block;
      width: 100%;
      height: 50px;
      cursor: pointer;
      position: absolute;
      top: 0;
    }
    Nach dem Login kopieren
    ) behandelt:

    ::before ::after versteckt zunächst das verschachtelte </p> :

    label:before,
    label:after {
      position: absolute;
    }
    
    /* ... (styles for :before and :after based on checked state) ... */
    Nach dem Login kopieren

    <ul> </p> mit CSS nachdenken:

    [type="checkbox"] ~ ul {
      display: none;
    }
    Nach dem Login kopieren

    Der geprüfte Status der Checkbox zeigt den versteckten Inhalt an: onclick

    Die Position und der Inhalt des Etiketts werden bei Überprüfung angepasst:

    [type="checkbox"]:checked ~ ul {
      display: block;
    }
    Nach dem Login kopieren
    Eine Codepen -Demo (Link weggelassen) zeigt diesen grundlegenden Umschalteffekt.

    [type="checkbox"]:checked + label {
      top: 100%;
    }
    
    /* ... (styles for :before and :after when checked) ... */
    Nach dem Login kopieren
    reibungslose Übergänge hinzufügen:

    Verwenden Sie für reibungslosere Übergänge und :

    max-height Der Übergang des Etiketts wird ebenfalls aktualisiert: transition

    [type="checkbox"] ~ ul {
      overflow: hidden;
      max-height: 0;
      transition: max-height .45s cubic-bezier(.44,.99,.48,1);
    }
    
    [type="checkbox"]:checked ~ ul {
      max-height: 300px; /* Or a calculated height */
    }
    Nach dem Login kopieren
    Eine Codepen -Demo (Link weggelassen) zeigt den verbesserten, glatteren Übergang.

    label {
      transition: top .45s cubic-bezier(.44,.99,.48,1);
    }
    Nach dem Login kopieren
    Browser -Überlegungen:

    Beachten Sie, dass das Cursorverhalten über Browser inkonsistent sein könnte (insbesondere bei Übergängen). </p> Schlussfolgerung:

    Dieser Artikel zeigt einen leistungsstarken CSS-Ansatz, um die Funktionalität "mehr/weniger anzeigen". Während Einschränkungen (hauptsächlich Browser-Inkonsistenzen und die Notwendigkeit eines vorgegebenen max-height) vorhanden sind, bietet diese Technik eine saubere, javaScript-freie Lösung für viele Szenarien. Denken Sie daran, die Zugänglichkeit immer beim Erstellen interaktiver Komponenten zu priorisieren.

    Das obige ist der detaillierte Inhalt vonImplementierung 'More/weniger' -Funktionalität mit reinem CSS. 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

    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.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    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ßer Artikel

    <🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Nordhold: Fusionssystem, erklärt
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Mandragora: Flüstern des Hexenbaum
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    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

    Java-Tutorial
    1669
    14
    PHP-Tutorial
    1273
    29
    C#-Tutorial
    1256
    24
    Ein Vergleich statischer Formanbieter Ein Vergleich statischer Formanbieter Apr 16, 2025 am 11:20 AM

    Versuchen wir, hier einen Begriff zu prägen: "Statischer Formanbieter". Sie bringen Ihre HTML

    Ein Beweis für das Konzept, um Sass schneller zu machen Ein Beweis für das Konzept, um Sass schneller zu machen Apr 16, 2025 am 10:38 AM

    Zu Beginn eines neuen Projekts erfolgt die SASS -Zusammenstellung im Blinzeln eines Auges. Dies fühlt sich gut an, besonders wenn es mit Browsersync kombiniert ist, das nachlädt

    Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Apr 17, 2025 am 10:55 AM

    In der Zusammenfassung der Plattformnachrichten in dieser Woche stellt Chrome ein neues Attribut für das Laden, Zugänglichkeitspezifikationen für Webentwickler und die BBC -Bewegungen ein

    Einige praktisch mit dem HTML-Dialogelement Einige praktisch mit dem HTML-Dialogelement Apr 16, 2025 am 11:33 AM

    Ich schaue mir das HTML -Element zum ersten Mal an. Ich habe es für eine Weile dessen bewusst, aber Haven &#039; Es wurde es noch nicht für einen Dreh genommen. Es hat einige ziemlich cool und

    Papierform Papierform Apr 16, 2025 am 11:24 AM

    Buy or Build ist eine klassische Technologiedebatte. Das Aufbau von Dingen selbst ist vielleicht billiger, weil Ihre Kreditkartenrechnung keine Werbebuchung gibt, aber

    Wohin sollte 'Podcast' -Link abonnieren? Wohin sollte 'Podcast' -Link abonnieren? Apr 16, 2025 pm 12:04 PM

    Für eine Weile war iTunes der große Hund im Podcasting. Wenn Sie also "Abonnieren Sie Podcast" verlinkt haben, um zu mögen:

    Wöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-Ladeindikator Wöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-Ladeindikator Apr 17, 2025 am 11:26 AM

    In der Roundup in dieser Woche, einem praktischen Lesezeichen für die Inspektion von Typografie, unter Verwendung dessen, wie sich JavaScript -Module gegenseitig importieren, sowie Facebook &#039; s.

    Optionen zum Hosting Ihrer eigenen nicht-javaScript-basierten Analysen Optionen zum Hosting Ihrer eigenen nicht-javaScript-basierten Analysen Apr 15, 2025 am 11:09 AM

    Es gibt eine Menge Analyseplattformen, mit denen Sie Besucher- und Nutzungsdaten auf Ihren Websites verfolgen können. Vielleicht vor allem Google Analytics, das weit verbreitet ist

    See all articles