visibility în CSS

Ascunde un element din vedere, păstrând însă golul fizic pe care acesta îl ocupă în pagină.

Sintaxă CSS
visibility: visible; /* implicit */
visibility: hidden;  /* ascuns, dar spațiul rămâne rezervat! */

Ce face visibility

Diferența dintre cele trei moduri de a ascunde un element în CSS:
1. display: none: elementul este șters complet din flux, nu ocupă spațiu, vecinii se apropie.
2. visibility: hidden: elementul este invizibil, dar păstrează exact același gol alb în pagină ca și cum ar fi acolo. Nu poate fi dat clic pe el.
3. opacity: 0: elementul este invizibil, păstrează spațiul, dar încă răspunde la clic.

Valori uzuale

Valoare Descriere
visible Elementul este vizibil în mod normal.
hidden Elementul devine invizibil, dar își rezervă spațiul.
collapse Folosit în tabele pentru a elimina rânduri fără a recalcula lățimea coloanelor.

Exemple

Exemplul 1: Păstrarea alinierii prin ascunderea fără eliberarea spațiului

visibility: hidden previne saltul de conținut în layout.

.mesaj-eroare {
  visibility: hidden; /* rezervă spațiul de 20px dinainte */
  color: #ef4444;
}
.mesaj-eroare.activ {
  visibility: visible;
}

Efect vizual în browser

Formularul nu sare în sus și în jos când apare sau dispare mesajul de eroare, deoarece spațiul este deja rezervat.

Greșeli frecvente

  • Folosirea visibility: hidden când utilizatorul dorea de fapt să elimine complet spațiul alb (în acest caz trebuie folosit display: none).

Comenzi înrudite