Implementierung 'More/weniger' -Funktionalität mit reinem CSS
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>~
) : Wählt alle Geschwister nach einem angegebenen Element aus.
Kontrollkästchen Hack 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>
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 (
.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; }
::before
::after
versteckt zunächst das verschachtelte </p>
:
label:before, label:after { position: absolute; } /* ... (styles for :before and :after based on checked state) ... */
<ul>
</p> mit CSS nachdenken:
[type="checkbox"] ~ ul { display: none; }
Der geprüfte Status der Checkbox zeigt den versteckten Inhalt an: onclick
[type="checkbox"]:checked ~ ul { display: block; }
[type="checkbox"]:checked + label { top: 100%; } /* ... (styles for :before and :after when checked) ... */
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 */ }
label { transition: top .45s cubic-bezier(.44,.99,.48,1); }
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!

Heiße KI -Werkzeuge

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

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

Undress AI Tool
Ausziehbilder kostenlos

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)

Heiße Themen











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

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

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

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

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

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

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 ' s.

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
