<display-outside>

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.

Syntax

Valid <display-outside> values:

block
The element generates a block element box, generating line breaks both before and after the element when in the normal flow.
inline
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
run-in 
The element generates a run-in box. If the adjacent sibling of the element defined as display: run-in box is a block box, the run-in box becomes the first inline box of the block box that follows it. 

Run-in elements act like inlines or blocks, depending on the surrounding elements. That is: If the run-in box contains a block box, same as block. If a block box follows the run-in box, the run-in box becomes the first inline box of the block box. If an inline box follows, the run-in box becomes a block box.

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.

Example

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.

HTML

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

CSS

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

Result

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
<display-outside>Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 7Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0
run-in
Experimental
Chrome No support 1 — 32
Notes
No support 1 — 32
Notes
Notes Before Chrome 4, run-in was not supported before inline elements.
Edge No support NoFirefox No support NoIE Full support 8Opera No support 7 — 19Safari No support 1 — 8
Notes
No support 1 — 8
Notes
Notes Before Safari 5, run-in was not supported before inline elements.
WebView Android No support ≤37 — ≤37Chrome Android No support 18 — 32Firefox Android No support NoOpera Android No support 10.1 — 19Safari iOS No support 1 — 8
Notes
No support 1 — 8
Notes
Notes Before Safari 5, run-in was not supported before inline elements.
Samsung Internet Android No support 1.0 — 2.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.

See also