CSS 2.2 CR Test Suite

Visual formatting model details (41 tests)

Test Refs Flags Info
+ 10 Visual formatting model details
+ 10.1 Definition of "containing block"
+ 10.2 Content width: the 'width' property
+ 10.3 Calculating widths and margins
+ 10.3.1 Inline, non-replaced elements
+ 10.3.2 Inline, replaced elements
+ 10.3.3 Block-level, non-replaced elements in normal flow
+ 10.3.4 Block-level, replaced elements in normal flow
+ 10.3.5 Floating, non-replaced elements
floated-table-wider-than-specified = Floated table that becomes wider than its specified width, due to wide contents
intrinsic-size-float-and-line = Put float next to line in shrink-to-fit container
zero-width-floats = Zero width floats
+ 10.3.6 Floating, replaced elements
+ 10.3.7 Absolutely positioned, non-replaced elements
abspos-autopos-htb-ltr = Absolutely positioned child with auto position in vertical-rl ltr flexbox
abspos-autopos-htb-rtl = Absolutely positioned child with auto position in vertical-rl ltr flexbox
abspos-autopos-vlr-ltr = Absolutely positioned child with auto position in vertical-rl ltr flexbox
abspos-autopos-vlr-rtl = Absolutely positioned child with auto position in vertical-rl ltr flexbox
abspos-autopos-vrl-ltr = Absolutely positioned child with auto position in vertical-rl ltr flexbox
abspos-autopos-vrl-rtl = Absolutely positioned child with auto position in vertical-rl ltr flexbox
auto-position-rtl-child-viewport-scrollbar = Auto-positioned absolutely positioned in static RTL parent, scrollbars on viewport
left-offset-position-fixed-001 = left:auto offset of position:fixed box in a position:relative containing block
  • The 'left' box offset property, for fixed positioning, when set to 'auto' specifies the offset of the box from its 'static-position containing block'. Here, in this test, the 'static-position containing block' is #shifted-column and the containing block for #red is established by the viewport.
right-offset-position-fixed-001 = right:auto offset of position:fixed box in an RTL position:relative containing block
  • The 'right' box offset property, for fixed positioning, when set to 'auto' specifies the offset of the box from its 'static-position containing block'. Here, in this test, the 'static-position containing block' is #shifted-column and the containing block for #red is established by the viewport.
+ 10.3.8 Absolutely positioned, replaced elements
+ 10.3.9 'Inline-block', non-replaced elements in normal flow
+ 10.3.10 'Inline-block', replaced elements in normal flow
+ 10.4 Minimum and maximum widths: 'min-width' and 'max-width'
min-width-not-important = fieldset min-width is overridable
  • fieldset's default min-width should be overridable since it's not !important and not spec'd to be non-overridable
+ 10.5 Content height: the 'height' property
height-percentage-004 = inherited percentage height
  • If the resulting height is smaller than 'min-height', the rules above are applied again, but this time using the value of 'min-height' as the computed value for 'height'. Note: These steps do not affect the real computed value of 'height'.
+ 10.6 Calculating heights and margins
+ 10.6.1 Inline, non-replaced elements
+ 10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements
+ 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'
+ 10.6.4 Absolutely positioned, non-replaced elements
+ 10.6.5 Absolutely positioned, replaced elements
+ 10.6.6 Complicated cases
+ 10.6.7 'Auto' heights for block formatting context roots
+ 10.7 Minimum and maximum heights: 'min-height' and 'max-height'
height-computed-001 = CSS min-height: min-height does not influence the computed height
  • If the resulting height is smaller than 'min-height', the rules above are applied again, but this time using the value of 'min-height' as the computed value for 'height'. Note: These steps do not affect the real computed value of 'height'.
height-computed-002 = CSS max-height: max-height does not influence the computed height
  • If this tentative height is greater than 'max-height', the rules above are applied again, but this time using the value of 'max-height' as the computed value for 'height'. [...] Note: These steps do not affect the real computed value of 'height'.
unresolvable-max-height Script Unresolvable percentage min-height
unresolvable-min-height Script Unresolvable percentage min-height
+ 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties
content-height-001 = CSS2 inline level box content height test
  • The height of the content area of an inline-level box does not depend on the value of the line-height property
content-height-002 = CSS2 inline level box content height test
  • The height of the content area of an inline-level box does not depend on the value of the line-height property, even when fallback fonts are used
content-height-003 = CSS2 inline level box content height test
  • The height of the content area of an inline-level box does not depend on the value of the line-height property, even when fallback fonts are used at the exclusion of the first available font
content-height-004 = CSS2 inline level box content height test
  • The height of the content area of an inline-level does not depend on fallback fonts regardless of whether they are used on not.
content-height-005 CSS2 inline level box content height test
  • The height of the content area of an inline-level depends on the primary font
fractional-line-height = Container height calculation with fractional line height and fractional child height
line-height-201 = explicit sizing
  • non-normal values of line-height result in the height of the inline-level box to be exactly the specified dimention, even when fallback fonts with metrics different from the first available font one are used.
line-height-202 = baseline position when explicit sizing
  • The position of the baseline in an inline-level box whose height is determined by a non-normal value of line-height does not depend on fonts other than the first available font
line-height-203 baseline position with explicit sizing
  • The position of the baseline in an inline-level box whose height is determined by a non-normal value of line-height does depend on the first available font.
line-height-204 = baseline position, normal sizing vs explicit sizing
  • The position of the baseline in an inline-level box whose line-height is normal and the position of the baseline in an inline-level box whose line-height is set to a non normal value resulting in the same height are the same, assuming only the first available font is used.
line-height-205 = normal sizing
  • The height of an inline-level box whose line-height is normal and uses both the first available font and fallback fonts is the same as the union of baseline-aligned adjacent inline-level boxes, each using the various fonts as their primary one.
line-height-206 normal sizing with fallback fonts
  • The height of an inline-level box whose line-height is normal and which only uses glyphs from the fallback font must still take the strut from the first available font into account.
+ 10.8.1 Leading and half-leading
inline-block-baseline-001 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an 'inline-block’ whose ‘overflow’ property has a computed value of ‘visible’ is the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case the baseline is the bottom margin edge.
inline-block-baseline-002 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an 'inline-block’ whose ‘overflow’ property has a computed value of ‘visible’ is the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case the baseline is the bottom margin edge.
inline-block-baseline-003 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an inline-block whose ‘overflow’ property has a computed value not equal to ‘visible’ is the higher of either its bottom margin edge or the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case its baseline is the bottom margin edge.
inline-block-baseline-004 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an inline-block whose ‘overflow’ property has a computed value not equal to ‘visible’ is the higher of either its bottom margin edge or the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case its baseline is the bottom margin edge.
inline-block-baseline-005 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an inline-block whose ‘overflow’ property has a computed value not equal to ‘visible’ is the higher of either its bottom margin edge or the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case its baseline is the bottom margin edge.
inline-block-baseline-006 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an inline-block whose ‘overflow’ property has a computed value not equal to ‘visible’ is the higher of either its bottom margin edge or the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case its baseline is the bottom margin edge.
inline-block-baseline-010 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an 'inline-block’ whose ‘overflow’ property has a computed value of ‘visible’ is the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case the baseline is the bottom margin edge.
inline-block-baseline-011 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an 'inline-block’ whose ‘overflow’ property has a computed value of ‘visible’ is the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case the baseline is the bottom margin edge.
inline-block-baseline-012 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an inline-block whose ‘overflow’ property has a computed value not equal to ‘visible’ is the higher of either its bottom margin edge or the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case its baseline is the bottom margin edge.
inline-block-baseline-013 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an inline-block whose ‘overflow’ property has a computed value not equal to ‘visible’ is the higher of either its bottom margin edge or the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case its baseline is the bottom margin edge.
inline-block-baseline-014 = Vertical-align: baseline of an inline-block depends on 'overflow'
  • The baseline of an inline-block whose ‘overflow’ property has a computed value not equal to ‘visible’ is the higher of either its bottom margin edge or the baseline of its last line box in the normal flow, unless it has no in-flow line boxes, in which case its baseline is the bottom margin edge.