Background
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification, chapter 9 Visual formatting model, specifies that:
Not all block container boxes are block-level boxes: non-replaced inline blocks and non-replaced table cells are block containers but not block-level boxes.
Question
Non-replaced inline blocks are not mentioned anywhere else in chapter 9/10. Could someone please help me understand what elements those block boxes represent?
Side Notes
- They are not referring to non-replaced inline elements, which are the most common kind of inline elements
- Neither are they referring to elements with
display:inline-block
, because they are inline-level boxes
EDIT
- From the quote above it can be inferred that non-replaced inline blocks are block container boxes.
We also know that:
Inline-level elements are those elements of the source document that do not form new blocks of content; the content is distributed in lines (e.g., emphasized pieces of text within a paragraph, inline images, etc.). The following values of the 'display' property make an element inline-level: 'inline', 'inline-table', and 'inline-block'. Inline-level elements generate inline-level boxes, which are boxes that participate in an inline formatting context.
If non-replaced inline blocks are block container boxes, and elements with
display:inline-block
are inline-level boxes (i.e. not block-level boxes and thus not block container boxes) then it logically falls out that non-replaced inline blocks cannot be the result of elements withdisplay:inline-block
.- In other words, inline blocks do not come from elements with
display:inline-block
.
Other Note(s)
- I am comfortable with the concept of replaced vs non-replaced, just trying to get what the spec means by inline block in the first quote above, when the only definitions are for inline-block <-- Note the hyphen.