PassFront
  1. PassFront
  2. База знаний
  3. Основы CSS

Как еще можно скрыть элемент кроме display: none и visibility: hidden?

Основы CSS

Кроме display: none и visibility: hidden, элемент можно скрыть ещё несколькими способами — у каждого своё поведение.

Способы

  • `opacity: 0` — элемент прозрачный, но занимает место и реагирует на клики (добавляют pointer-events: none).
  • Атрибут `hidden` — HTML-аналог display: none.
  • `content-visibility: hidden` — не отрисовывает содержимое, сохраняя состояние; хорошо для больших скрытых панелей.
  • Визуально скрытый класс — убирает с экрана, но оставляет для скринридеров:
.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
  • `transform: scale(0)` или вынос за экран — для анимаций появления.
  • `height: 0; overflow: hidden` — для аккордеонов.
  • `aria-hidden="true"` — скрывает от скринридеров, но не визуально.

Как выбирать

Убрать полностью — display: none или hidden; анимировать — opacity/transform; оставить для скринридеров — .visually-hidden.

Коротко для собеседования

opacity: 0, атрибут hidden, content-visibility, визуально скрытый класс, трансформации и height: 0 — выбор зависит от того, нужны ли место, анимация и доступность.

Подробнее: The A11Y Project — How-to: Hide content

Другие вопросы раздела