Vor sechs Jahren habe ich die heimischen
In diesem Artikel gehen wir noch einmal auf
Die Element, das als anklickbare Beschriftung fungiert. Dies macht es einfach, Offenlegungs-Widgets mit minimalem Aufwand zu erstellen.
Hier ist ein einfaches Beispiel:
<details> <summary>Read more</summary> Some text to be hidden. </details>
Durch Klicken auf die Zusammenfassung wird die Sichtbarkeit des zugehörigen Inhalts umgeschaltet. Kein JavaScript erforderlich!
Um das traditionelle Akkordeonverhalten nachzuahmen, bei dem jeweils nur ein Abschnitt geöffnet ist, können Sie das Namensattribut in Ihrem
<details name="exclusive"> <summary>Section 1</summary> <p>Content for section 1.</p> </details> <details name="exclusive"> <summary>Section 2</summary> <p>Content for section 2.</p> </details>
Dieses Verhalten ist nativ und funktioniert nahtlos in modernen Browsern!
Um die Öffnungs- und Schließübergänge reibungsloser zu gestalten, können wir moderne CSS-Eigenschaften wie interpolate-size und transit-behavior verwenden.
Hier ist ein vollständiges Beispiel des in der Demo verwendeten CSS:
details { interpolate-size: allow-keywords; overflow: clip; margin-top: 0.125em; border: 1px solid #dddddd; background: #ffffff; color: #333333; border-radius: 3px; } details summary { display: block; cursor: pointer; position: relative; padding: 0.5em 0.5em 0.5em 0.7em; background: #ededed; color: #2b2b2b; border-radius: 3px 3px 0 0; } details:not([open]) summary:hover, details:not([open]) summary:focus { background: #f6f6f6; color: #454545; } details[open] summary { outline: 1px solid #003eff; background: #007fff; color: #ffffff; } details[open]::details-content { height: auto; } details::details-content { height: 0; overflow-y: clip; transition: content-visibility 475ms allow-discrete, height 475ms; } details main { padding: 1em 2.2em; }
Hier ist die vollständige Implementierung:
Bei Browsern ohne Unterstützung fallen die Animationen elegant zurück und das Akkordeon bleibt ohne die sanften Übergänge funktionsfähig.
Die
Vielen Dank fürs Lesen. Wenn Sie mit mir außerhalb von Dev in Kontakt treten möchten, finden Sie hier meine Twitter-, Bsky- und Linkedin-Nachrichten. Sagen Sie Hallo?
Das obige ist der detaillierte Inhalt vonNatives HTML: Accordion Revisited. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!