Атрибут hidden тега <li>
Описание
Атрибут hidden скрывает элемент <li> из видимой части страницы. Это булевый атрибут - его наличие (без значения) делает элемент скрытым, отсутствие - видимым.
<ul>
<li>Видимый пункт списка</li>
<li hidden>Скрытый пункт списка</li>
<li hidden="hidden">Еще один скрытый пункт</li>
</ul>
Особенности работы:
| Состояние | Описание | Как задать |
|---|---|---|
| Скрыт | Элемент не отображается | <li hidden> или <li hidden="hidden"> |
| Видим | Элемент отображается (по умолчанию) | <li> (без атрибута) |
Динамическое управление видимостью:
<ul>
<li id="toggle-item">Этот элемент можно скрыть/показать</li>
</ul>
<button onclick="toggleVisibility()">Переключить видимость</button>
<script>
function toggleVisibility() {
const item = document.getElementById('toggle-item');
item.hidden = !item.hidden;
}
</script>
Разница между hidden и display:none:
<style>
.css-hidden { display: none; }
</style>
<ul>
<li hidden>Скрыто через атрибут hidden</li>
<li class="css-hidden">Скрыто через CSS</li>
</ul>
Рекомендации по использованию:
- Используйте для временного скрытия элементов без удаления из DOM
- Не применяйте для чувствительной информации - код остается в HTML-коде
- Для сложных сценариев скрытия/показа сочетайте с ARIA-атрибутами
- Альтернатива - CSS-классы с
display: none
Доступность (a11y):
- Скрытые элементы не доступны для скринридеров
- Для скрытых элементов рекомендуется использовать
aria-hidden="true" - Не используйте для скрытия контента, который должен быть доступен для SEO
Пример с сохранением пространства:
<style>
.invisible { visibility: hidden; }
</style>
<ul>
<li hidden>Полностью скрыт (hidden)</li>
<li class="invisible">Невидим, но место сохраняется</li>
</ul>
Ограничения и совместимость:
- Поддерживается всеми современными браузерами
- В IE11 требует полифила для полной поддержки
- Не влияет на производительность (элемент остается в DOM)
- Может конфликтовать с CSS-правилами
display
Примечание: Атрибут hidden удобен для простых случаев скрытия элементов. Для сложных интерфейсов с анимациями и плавными переходами лучше использовать CSS-решения. Помните, что скрытый контент может индексироваться поисковыми системами.