Почему jQuery show / hide использует display: none вместо visibility: hidden?
display:none означает, что элемент не отображается как часть DOM, поэтому он не загружается, пока свойство display не изменится на что-то другое.
visibility:hidden загружает элемент, но не показывают это.
почему jQuery использует display:none для Показать/Скрыть функции вместо переключения между visibility:hidden и visibility:visible?
5 ответов:
потому что
display:none, элемент, для всех целей, перестает существовать - он не занимает никакого пространства. Однако, вvisibility:hidden, это как если бы ты просто добавилopacity:0к элементу -- он занимает такое же количество пространства, но просто действует невидимо.создатели jQuery, вероятно, думали, что первый будет лучше подходит для
.hide().
visibility: hiddenделает элемент невидимым, но не удалить его из макета страницы. Он оставляет пустую коробку, где был элемент.display: noneудаляет его из макета, чтобы он не занимал места на странице, что обычно требуется людям, когда они что-то скрывают.