В чем разница между видимостью: скрытой и отображаемой: нет? - PullRequest
1059 голосов
/ 25 сентября 2008

Правила CSS visibility:hidden и display:none приводят к тому, что элемент не виден. Это синонимы?

Ответы [ 16 ]

6 голосов
/ 29 января 2018
display: none; 

Он не будет доступен на странице и не занимает места.

visibility: hidden; 

скрывает элемент, но все равно будет занимать то же место, что и раньше. Элемент будет скрыт, но все же повлияет на макет.

visibility: hidden сохраняет пространство, тогда как display: none не сохраняет пространство.

Дисплей Нет Пример: https://www.w3schools.com/css/tryit.asp?filename=trycss_display_none

Видимость Скрытый пример: https://www.w3schools.com/cssref/tryit.asp?filename=trycss_visibility

6 голосов
/ 29 мая 2013

visibility:hidden сохраняет пространство; display:none нет.

5 голосов
/ 27 декабря 2011

Если свойство видимости установлено на "hidden", браузер все равно будет занимать место на странице для содержимого, даже если оно невидимо.
Но когда мы устанавливаем объект на "display:none", браузер не выделяет место на странице для его содержимого.

Пример:

<div style="display:none">
Content not display on screen and even space not taken.
</div>

<div style="visibility:hidden">
Content not display on screen but it will take space on screen.
</div>

Подробнее

4 голосов
/ 29 мая 2013

visibility:hidden сохранит элемент на странице и займет это место, но не покажет пользователю.

display:none не будет доступно на странице и не занимает места.

3 голосов
/ 01 октября 2017

Еще одно отличие состоит в том, что visibility:hidden работает в действительно старых браузерах, а display:none -:

https://www.w3schools.com/cssref/pr_class_visibility.asp

https://www.w3schools.com/cssref/pr_class_display.asp

1 голос
/ 04 февраля 2018

display:none; не будет отображать элемент и не будет выделять пространство для элемента на странице, тогда как visibility:hidden; не будет отображать элемент на странице, но будет выделять пространство на странице. Мы можем получить доступ к элементу в DOM в обоих случаях. Чтобы лучше это понять, посмотрите на следующий код: Отображение: нет в сравнении с видимостью: скрыто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...