In anything implementing the current draft of
CSS Display Module Level 3, the `display` values we commonly use today become a shorthand for two orthogonal properties.
For example, `display: block` becomes shorthand for `display: block flow`, where `block` is the <display-outside> and `flow` is the <display-inside>.
----
https://drafts.csswg.org/css-display/#propdef-display
> The `display` property defines box’s display type, which consists of the two basic qualities of how an element generates boxes:
> * the inner display type, which defines [...] the kind of formatting context it generates, dictating how its descendant boxes are laid out.
> * the outer display type, which dictates how the box participates in its parent formatting context.
...
> <display-outside> = block | inline | ...
> <display-inside> = flow | flow-root | table | flex ...
...
Short `display` | Full `display` | Generated box
----------------|--------------------|---------------
'block' | 'block flow' | block-level block container
'flow-root' | 'block flow-root' | block-level block container that establishes a new block formatting context
'inline' | 'inline flow' | inline box
'inline-block' | 'inline flow-root' | inline-level block container
----------------|--------------------|---------------
'flex' | 'block flex' | block-level flex container
'inline-flex' | 'inline flex' | inline-level flex container
----
----
It looks like there were, in the first draft of the spec, independent `display-inside/outside` properties, with `display` being a "one property that sets multiple properties" shorthand:
https://www.w3.org/TR/2014/WD-css-display-3-20140911/#the-di...
But that has since been changed to `display` being a "one property that takes multiple values" shorthand, in the current version of the spec:
https://www.w3.org/TR/2015/WD-css-display-3-20150721/#change...
> Changes since the 11 September 2014 Working Draft include:
> Removed `display-inside`, `display-outside`, and `display-extras` longhands, in favor of just making `display` multi-value. (This was done to impose constraints on what can be combined. Future levels of this specification may relax some or all of those restrictions if they become unnecessary or unwanted.)