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: