CSS Layout - The display Property
display property is the most important CSS property for controlling layout.
The display Property
display property specifies if/how an element is displayed.
Every HTML element has a default display value depending on what type of element it is. The default display value for most elements is
Click to show panel
This panel contains a <div> element, which is hidden by default (
A block-level element always starts on a new line and takes up the full width available (stretches out to the left and right as far as it can).
Examples of block-level elements:
- <h1> - <h6>
An inline element does not start on a new line and only takes up as much width as necessary.
This isa paragraph.
Examples of inline elements:
<script> element uses
display: none; as default.
Override The Default Display Value
As mentioned, every element has a default display value. However, you can override this.
Changing an inline element to a block element, or vice versa, can be useful for making the page look a specific way, and still follow the web standards.
A common example is making inline
<li> elements for horizontal menus:
Note: Setting the display property of an element only changes how the element is displayed, NOT what kind of element it is. So, an inline element with
display: block; is not allowed to have other block elements inside it.
The following example displays <span> elements as block elements:
The following example displays <a> elements as block elements:
Hide an Element - display:none or visibility:hidden?
Hiding an element can be done by setting the
display property to
The element will be hidden, and the page will be displayed as if the element is not there:
visibility:hidden; also hides an element.
However, the element will still take up the same space as before. The element will be hidden, but still affect the layout:
Differences between display: none; and visibility: hidden;
This example demonstrates display: none; versus visibility: hidden;
CSS Display/Visibility Properties
|display||Specifies how an element should be displayed|
|visibility||Specifies whether or not an element should be visible|