Ve specifikaci HTML 5 se najde řada užitečných elementů, které nejsou příliš známé a weboví programátoři je nevyužívají nebo nevyužívají dostatečně a zbytečně pak používají složité CSS konstrukce nebo JavaScript. Před časem jsem psal o elementu DATALIST
, který umožňuje nativní autocomplete. Nyní přišla řada na element DETAILS
a jeho druha SUMMARY
.
HTML
Tyto dva elementy slouží k zobrazení stručného obsahu (summary
), po kliknutí na který se zobrazí obsah rozsáhlejší (zbytek elementu details
). Konstrukce připomíná elementy fieldset
a legend
:
<details>
<summary>Lorem Ipsum</summary>
Lorem ipsum dolor sit amet...
</details>
Element details
může mít atribut open
(bez hodnoty nebo v XHTML syntaxi zapsaný jako <details open="open">
), který říká, že při prvním zobrazení má být obsah rozbalen.
Tato konstrukce může být použita libovolně, ale je předurčena pro rozbalovací seznamy. Tomu napovídá i to, že ve výchozím nastavení se před obsahem summary
zobrazí trojúhelníková šipka. Doprava (▸), pokud je obsah skrytý a dolů (▾), je-li zobrazen.
Prohlédněte si základní použití této konstrukce:
CSS
Rozhodně doporučuji prvku summary
přidat kurzor typu odkaz, protože jinak uživatel netuší, že má smysl na něj klikat:
summary {
cursor: pointer;
}
Dále pak je možné standardním způsobem stylovat oba prvky. Pomocí selektoru open
pak lze nastavit styl pro otevřený stav:
details[open] summary {
color: red;
}
Pokud chcete ovlivnit, jak bude vypadat šipka v rozbaleném či sbaleném stavu, lze použít standardní prvky pro seznamy, tj. zejména list-style-type
.
Prohlédněte si obsáhlejší demo, které nabízí pokročilejší customizaci: