display: none vs visibility: hidden

2019-09-16

 | 

~1 min read

 | 

161 words

When hiding elements on the client, there are multiple options. Two of the most common are through the selective toggling ofCSS properties of display and visibility.

What’s the difference? From LearnLayout.com1

This [display] is different from visibility. Setting display to none will render the page as though the element does not exist. visibility: hidden; will hide the element, but the element will still take up the space it would if it was fully visible.

As a result, if the element is positioned absolutely, the “space” consumed when displayed will not affect anything.

To ensure that the layout doesn’t shift, however, it makes sense to use the visibility property.

Options for display2:

  • block
  • inline
  • flex
  • none
  • … and many more. See MDN has an exhaustive list:

Options fo visibility2:

  • visible
  • hidden
  • collapse

Footnotes


Hi there and thanks for reading! My name's Stephen. I live in Chicago with my wife, Kate, and dog, Finn. Want more? See about and get in touch!