display:none
は、要素がDOMの一部としてレンダリングされないことを意味します。したがって、表示プロパティが別のものに変更されるまでロードされません。
visibility:hidden
は要素をロードしますが、表示しません。
JQueryがdisplay:none
とvisibility:hidden
を切り替える代わりに、show/hide関数にvisibility:visible
を使用するのはなぜですか?
_display:none
_では、あらゆる目的のために要素が存在しなくなるため、スペースを占有しません。ただし、_visibility:hidden
_では、まるで要素に_opacity:0
_を追加したかのようになります。同じ量のスペースを占有しますが、見えないように動作します。
JQueryの作成者は、おそらく前者の方が.hide()
に適していると考えていました。
visibility: hidden
は、要素を非表示にしますが、ページのレイアウトから削除しません。要素があった場所に空のボックスを残します。 display: none
はレイアウトからそれを削除し、ページ上のスペースを占有しないようにします。これは通常、人々が何かを隠すときに必要なものです。
Visibility:hiddenは、ページのスペースを使用するように要素を非表示にします。 Display:noneは、DOMに存在している間、要素にスペースがなく、完全に削除されます。
可視性は要素を不可視にしますが、それでも画面上のスペースを占有します。
Visibility:hidden
は単に要素を非表示にしますが、DOMにロードされるため、ロード時間が消費されます。だが Display:none
は要素をロードしません。