Аккордеоны — один из наиболее часто используемых компонентов пользовательского интерфейса для любого веб-сайта. Например, раздел часто задаваемых вопросов на веб-сайте, где отображается только вопрос, а при нажатии на него просто открывается ответ. Как правило, мы справляемся с этим, создавая 2 divs
и добавляя некоторый javascript для обработки открытия и закрытия аккордеона. Но недавно я наткнулся на эту скрытую жемчужину в HTML, которая устраняет необходимость всего этого — <details>
Мы можем просто создать простой FAQ или краткий раздел с HTML-тегом <details>
без использования Javascript!!! 🤯🤯🤯. И самое приятное... поддерживается всеми современными браузерами (очевидно кроме IE :( ) - браузерная совместимость.
Использование тега <details>
Здесь два элемента: <details>
и <summary>
. <details>
— это оболочка для всего контента, который вы хотите показать или скрыть, и содержит — ну, сводку и заголовок раздела. <summary>
является необязательным, если вы его не добавите, браузер будет использовать некоторый текст по умолчанию. Например, в Firefox и Chrome это Details
. Ниже приведен пример HTML-разметки:
<details> <summary>Details</summary> <p>Something small enough to escape casual notice.</p> </details>
И это будет выглядеть так:
Эта разметка может быть разработана с помощью CSS, как и любой другой элемент HTML. Теперь для создания красивых аккордеонов вам нужны только HTML и CSS (и желание отказаться от IE).
Демо: https://itsopensource.com/demos/details/
Ваше здоровье.
Первоначально опубликовано на https://itsopensource.com.