Właściwość CSSUkład i pozycjonowanie

visibility

Ukrywa element, ale zostawia puste miejsce, które zajmował.

Wartość domyślna
visible
Dziedziczona
Tak
Animowalna
tak, skokowo (widoczny przez cały czas przejścia)
Dotyczy
wszystkie elementy
JavaScript
element.style.visibility = "hidden"
Na tej stronie

Przykład

#
CSS
.tooltip {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s, visibility 0.2s;
}

.trigger:hover .tooltip {
  visibility: visible;
  opacity: 1;
}
Podgląd

Definicja i zastosowanie

#

Właściwość visibility pokazuje albo ukrywa element bez zmiany układu strony. Element z visibility: hidden staje się niewidoczny i nie da się go kliknąć, ale jego miejsce zostaje zarezerwowane. To odróżnia go od display: none, który usuwa element całkowicie.

W przeciwieństwie do większości właściwości visibility jest dziedziczona. Dziecko ukrytego rodzica może jednak ustawić visibility: visible i znów się pokazać.

Właściwość da się płynnie przejść w animacji, co przydaje się przy menu i podpowiedziach. Najczęściej łączy się ją z opacity, żeby element najpierw zanikał, a dopiero potem stawał się nieklikalny.

Składnia

#
Składnia
visibility: visible | hidden | collapse;

Wartości

#
  • visible

    Element jest widoczny. Wartość domyślna.
  • hidden

    Element 2 znika, ale luka po nim zostaje.
  • collapse

    W wierszach i kolumnach tabel usuwa je bez przebudowy tabeli. Na zwykłych elementach działa jak hidden.

Wartości w praktyce

#

visible

Element jest widoczny. Wartość domyślna.
.demo { visibility: visible; }

hidden

Element 2 znika, ale luka po nim zostaje.
.demo { visibility: hidden; }

collapse

W wierszach i kolumnach tabel usuwa je bez przebudowy tabeli. Na zwykłych elementach działa jak hidden.
.demo { visibility: collapse; }

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Ukryty przez visibility: hidden element nadal zajmuje miejsce. Jeśli ma zniknąć razem z luką, użyj display: none.
  • Czytniki ekranu pomijają elementy z visibility: hidden, tak samo jak z display: none.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.