Проверяет знание семантических HTML-тегов и возможности создания интерактивных компонентов без JavaScript с использованием встроенных элементов.
Для создания аккордеона без JavaScript идеально подходят теги <details> и <summary>. Они являются частью HTML5 и предоставляют встроенную функциональность раскрытия и скрытия содержимого. Это семантически корректно, так как браузеры и вспомогательные технологии (например, скринридеры) правильно интерпретируют эти элементы.
Каждый раздел аккордеона оборачивается в <details>. Внутри него первый дочерний элемент — <summary>, который служит заголовком. Остальное содержимое будет скрыто до клика. При клике на <summary> браузер переключает атрибут open у <details>, показывая или скрывая содержимое.
<details>
<summary>Раздел 1</summary>
<p>Содержимое первого раздела.</p>
</details>
<details>
<summary>Раздел 2</summary>
<p>Содержимое второго раздела.</p>
</details>
<details>
<summary>Раздел 3</summary>
<p>Содержимое третьего раздела.</p>
</details>По умолчанию <details> отображается как блок с маркером (треугольником) слева от <summary>. Вы можете стилизовать его с помощью CSS, например, убрать маркер или добавить анимацию. Однако для сложных аккордеонов с одновременным открытием только одного раздела потребуется JavaScript, так как HTML не предоставляет такой функциональности из коробки.
Теги <details> и <summary> — это простой и доступный способ создания аккордеонов без JavaScript. Они подходят для случаев, когда не требуется сложное поведение, например, для FAQ или документации. Если нужна более тонкая настройка, стоит рассмотреть JavaScript-решения.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию