display:none

CSS: visibility:hidden und display:none

Es gibt zwei Unterschiede zwischen den Deklarationen visibility:hidden; und display:none;.

Display:none; bewirkt, dass die so deklarierte Box überhaupt nicht generiert wird und der Browser die Seite so aufbaut, als wenn diese Box nicht vorhanden wäre.

Durch visibility:hidden; dagegen wird die Box samt Inhalt nur ‚durchsichtig‘, ihre Fläche bleibt freigestellt.

Der zweite Unterschied bezieht sich auf die Nachkommenelemente. Kindelemente eines mit display:none deklarierten Elementes können nicht ausgegeben werden, auch dann nicht, wenn sie anders als mit none deklariert werden. Nachkommenelemente von mit visibility:hidden deklarierten Elementen erben diese Deklarierung, können aber selbst durch den Wert visible wieder sichtbar sein.