Why does jQuery show/hide use display:none instead of visibility:hidden?

后端 未结 5 1208
野的像风
野的像风 2020-12-13 12:14

display:none means that the element isn\'t rendered as part of the DOM, so it\'s not loaded until the display property changes to something else.

相关标签:
5条回答
  • 2020-12-13 12:26

    Visibility just makes the element invisible, but it would still take up space on the screen.

    0 讨论(0)
  • 2020-12-13 12:28

    Because in display:none, the element, for all purposes, ceases to exist -- it doesn't occupy any space. However, in visibility:hidden, it's as if you had just added opacity:0 to the element -- it occupies the same amount of space but just acts invisible.

    The jQuery creators probably thought the former would be a better fit for .hide().

    0 讨论(0)
  • 2020-12-13 12:35

    Visibility:hidden just make the element invisible but it is loaded in DOM so it consumes load time. But Display:none does not load the element.

    0 讨论(0)
  • 2020-12-13 12:43

    Visibility:hidden makes the element invisible in a way that it still uses space at the page. Display:none makes the element have no space and be completely gone, while it still exists in the DOM.

    0 讨论(0)
  • 2020-12-13 12:45

    visibility: hidden makes an element invisible but does not remove it from the layout of the page. It leaves an empty box where the element was. display: none removes it from the layout so it doesn't take up any space on the page, which is usually what people want when they hide something.

    0 讨论(0)
提交回复
热议问题