The <display-outside> keywords specify the element's outer display type, which is essentially its role in flow layout. These keywords are used as values of the display property, and can be used for legacy purposes as a single keyword, or as defined in the Level 3 specification alongside a value from the <display-inside> keywords.


Valid <display-outside> values:


The element generates a block element box, generating line breaks both before and after the element when in the normal flow.


The element generates one or more inline element boxes that do not generate line breaks before or after themselves. In normal flow, the next element will be on the same line if there is space.

Note: Browsers that support the two value syntax, on finding the outer value only, such as when display: block or display: inline is specified, will set the inner value to flow. This will result in expected behavior; for example if you specify an element to be block, you would expect that the children of that element would participate in block and inline normal flow layout.

Formal syntax

<display-outside> = 
block |
inline |


In the following example, span elements (normally displayed as inline elements) are set to display: block and so break onto new lines and expand to fill their container in the inline dimension.


<span>span 1</span> <span>span 2</span>


span {
  display: block;
  border: 1px solid rebeccapurple;



CSS Display Module Level 3
# typedef-display-outside

Browser compatibility

BCD tables only load in the browser

See also