CSS2.1 Test Suite

Generated content, automatic numbering, and lists (542 tests)

Test Flags
12.1 The :before and :after pseudo-elements
Pseudo-element ':after' inherits inheritable values
  • The pseudo-element ':after' generated content inherits any inheritable properties from the element.
Pseudo-element ':after' does not inherit non-inheritable values
  • Non-inherited properties apply their initial value when applying to ':after'.
After applies after text
  • After places the generated content after the element content.
Before, after applies to same selector
  • Multiple pseudo-elements cannot be placed on the same selector.
I
Before, after is included in formatting changes
  • Generated content is included in any formatting changes made to an element.
Pseudo-element ':before' inherits inheritable values
  • The pseudo-element ':before' generated content inherits any inheritable properties from the element.
Pseudo-element ':before' does not inherit non-inheritable values
  • Non-inherited properties apply the initial value when applying to ':before'.
Before applies before text
  • Before places generated content before the element content.
Marker box position (outside principal box) - :before pseudo-element list-item ('list-style-position:inside')
  • When the :before element is set as a list-item, it establishes a principal box into which a marker box is placed (when 'list-style-position:inside). The document tree content of the associated element must be placed after the principal box established by the :before pseudo element. The presence of the :before pseudo element in this context, must have no affect on the position of the marker box of the associated element as it must still appear to the outside left edge of it's own principal box (since 'list-style-position:outside').
Marker box position (inside principal box) - :before pseudo-element list-item ('list-style-position:outside')
  • When the :before element is set as a list-item, it establishes a principal box and a marker box which is positioned outside of that principal box (since 'list-style-position:outside). The document tree content of the associated element must be placed after the principal box established by the :before pseudo element. Since the marker box of the associated element must be the first inline element within it's principal box (since 'list-style-position:inside'), that marker box must appear before the marker box and principal box of the :before pseudo-element.
Marker box position (inside principal box) - :before pseudo-element list-item ('list-style-position:inside')
  • When the :before element is set as a list-item, it establishes a principal box into which a marker box is placed (when 'list-style-position:inside). The document tree content of the associated element must be placed after the principal box established by the :before pseudo element. Since the marker box of the associated element must be the first inline element within it's principal box (since 'list-style-position:inside'), that marker box must appear before the marker box and principal box of the :before pseudo-element.
Marker box position (outside principal box) - :before pseudo-element list-item ('list-style-position:outside')
  • When the :before element is set as a list-item, it establishes a principal box and a marker box which is positioned outside of that principal box (since 'list-style-position:outside). The document tree content of the associated element must be placed after the principal box established by the :before pseudo element. The position of the marker box of the associated element must still appear to the outside left edge of it's principal box (since 'list-style-position:outside') and should be positioned towards the top of this principal box. Since the marker box of the :before pseudo element should be positioned at the same coordinate as the associated element's marker box, either bullet could appear in front of the other (since stacking levels of marker boxes aren't defined in CSS2.1, in this context).
Marker box position (outside principal box) - floated :before pseudo-element list-item ('list-style-position:inside')
  • When the :before element is set as a list-item, it establishes a principal box into which a marker box is placed (when 'list-style-position:inside). Since this :before pseudo element is floated left, the document tree content of the associated element must appear alongside (after) this :before pseudo element. The position of the marker box of the associated element must not be affected, as it must still appear to the outside left edge of it's principal box (since 'list-style-position:outside').
Marker box position (inside principal box) - floated :before pseudo-element list-item ('list-style-position:outside')
  • When the :before element is set as a list-item, it establishes a principal box and a marker box which is positioned outside of that principal box (since 'list-style-position:outside). Since this :before pseudo element is floated left, the principal box (and marker box, since 'list-style-position:inside') of the associated element must appear alongside (after) this :before pseudo element. The position of the marker box of the :before pseudo element must still appear to the outside left edge of it's associated element's principal box (since 'list-style-position:outside').
Marker box position (inside principal box) - floated :before pseudo-element list-item ('list-style-position:inside')
  • When the :before element is set as a list-item, it establishes a principal box into which a marker box is placed (when 'list-style-position:inside). Since the :before pseudo element is floated left, the principal box (and marker box, since 'list-style-position:inside') of the associated element must appear alongside (after) the :before pseudo element.
Marker box position (outside principal box) - floated :before pseudo-element list-item ('list-style-position:outside')
  • When the :before element is set as a list-item, it establishes a principal box into which a marker box is placed (when 'list-style-position:inside). Since the :before pseudo element is floated left, The document tree content of the associated element must appear alongside (after) the :before pseudo element. Since the marker box of the :before pseudo element should be positioned at the same coordinate as the associated element's marker box, either bullet could appear in front of the other (since stacking levels of marker boxes aren't defined in CSS2.1, in this context).
12.2 The 'content' property
Content with the value of 'none'
  • The 'content' property properly handles a value of 'none'.
Content with the value of 'normal'
  • The 'content' property properly handles a value of 'normal'.
Content with a string as the value
  • The 'content' property properly handles a string as a value.
Content with a url() to an image as a value
  • The 'content' property properly handles the 'url()' function as a value.
G
Content with a 'counter()' function as a value
  • The 'content' property properly handles a 'counter()' function as a value.
Content using a 'counter()' function with a list style set to 'disc'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'circle'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'square'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'decimal'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'decimal-leading-zero'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'lower-roman'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'upper-roman'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'lower-greek'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'lower-latin'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'upper-latin'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'armenian'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'georgian'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'lower-alpha'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'upper-alpha'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counter()' function with a list style set to 'none'
  • The 'content' property properly handles a 'counter()' function with a list-style.
Content using a 'counters()' function with a string value
  • The 'content' property properly handles a 'counters()' function with a string value.
Content using a 'counters()' function with a string and a list style set to 'disc'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'circle'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'square'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'decimal'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'decimal-leading-zero'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'lower-roman'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'upper-roman'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'lower-greek'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'lower-latin'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'upper-latin'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'armenian'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'georgian'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'lower-alpha'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'upper-alpha'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content using a 'counters()' function with a string and a list style set to 'none'
  • The 'content' property properly handles a 'counters()' function with a string and a list style.
Content with a 'attr()' function as a value selecting 'abbr'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'abbr'.
Content with a 'attr()' function as a value selecting 'accept-charset'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'accept-charset'.
Content with a 'attr()' function as a value selecting 'accept'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'accept'.
Content with a 'attr()' function as a value selecting 'accesskey'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'accesskey'.
Content with a 'attr()' function as a value selecting 'action'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'action'.
Content with a 'attr()' function as a value selecting 'align'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'align'.
Content with a 'attr()' function as a value selecting 'alink'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'alink'.
Content with a 'attr()' function as a value selecting 'axis'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'axis'.
Content with a 'attr()' function as a value selecting 'background'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'background'.
Content with a 'attr()' function as a value selecting 'bgcolor'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'bgcolor'.
Content with a 'attr()' function as a value selecting 'border'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'border'.
Content with a 'attr()' function as a value selecting 'cellpadding'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'cellpadding'.
Content with a 'attr()' function as a value selecting 'cellspacing'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'cellspacing'.
Content with a 'attr()' function as a value selecting 'char'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'char'.
Content with a 'attr()' function as a value selecting 'charoff'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'charoff'.
Content with a 'attr()' function as a value selecting 'charset'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'charset'.
Content with a 'attr()' function as a value selecting 'cite'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'cite'.
Content with a 'attr()' function as a value selecting 'class'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'class'.
Content with a 'attr()' function as a value selecting 'color'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'color'.
Content with a 'attr()' function as a value selecting 'colspan'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'colspan'.
Content with a 'attr()' function as a value selecting 'compact'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'compact'.
Content with a 'attr()' function as a value selecting 'coords'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'coords'.
Content with a 'attr()' function as a value selecting 'datetime'
  • The 'content' property correctly handles the 'attr()' function when calling the attribute 'datetime'.
Content with a 'attr()' function as a value selecting 'dir'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'dir'.
Content with a 'attr()' function as a value selecting 'enctype'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'enctype'.
Content with a 'attr()' function as a value selecting 'face'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'face'.
Content with a 'attr()' function as a value selecting 'for'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'for'.
Content with a 'attr()' function as a value selecting 'frame'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'frame'.
Content with a 'attr()' function as a value selecting 'headers'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'headers'.
Content with a 'attr()' function as a value selecting 'height'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'height'.
Content with a 'attr()' function as a value selecting 'href'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'href'.
Content with a 'attr()' function as a value selecting 'hreflang'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'hreflang'.
Content with a 'attr()' function as a value selecting 'id'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'id'.
Content with a 'attr()' function as a value selecting 'lang'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'lang'.
Content with a 'attr()' function as a value selecting 'link'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'link'.
Content with a 'attr()' function as a value selecting 'method'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'method'.
Content with a 'attr()' function as a value selecting 'name'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'name'.
Content with a 'attr()' function as a value selecting 'nowrap'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'nowrap'.
Content with a 'attr()' function as a value selecting 'onblur'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onblur'.
O
Content with a 'attr()' function as a value selecting 'onclick'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onclick'.
O
Content with a 'attr()' function as a value selecting 'ondblclick'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'ondblclick'.
O
Content with a 'attr()' function as a value selecting 'onfocus'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onfocus'.
O
Content with a 'attr()' function as a value selecting 'onkeydown'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onkeydown'.
O
Content with a 'attr()' function as a value selecting 'onkeypress'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onkeypress'.
O
Content with a 'attr()' function as a value selecting 'onkeyup'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onkeyup'.
O
Content with a 'attr()' function as a value selecting 'onload'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onload'.
O
Content with a 'attr()' function as a value selecting 'onmousedown'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onmousedown'.
O
Content with a 'attr()' function as a value selecting 'onmousemove'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onmousemove'.
O
Content with a 'attr()' function as a value selecting 'onmouseout'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onmouseout'.
O
Content with a 'attr()' function as a value selecting 'onmouseover'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onmouseover'.
O
Content with a 'attr()' function as a value selecting 'onmouseup'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onmouseup'.
O
Content with a 'attr()' function as a value selecting 'onreset'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onreset'.
O
Content with a 'attr()' function as a value selecting 'onsubmit'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onsubmit'.
O
Content with a 'attr()' function as a value selecting 'onunload'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'onunload'.
O
Content with a 'attr()' function as a value selecting 'profile'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'profile'.
Content with a 'attr()' function as a value selecting 'rel'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'rel'.
Content with a 'attr()' function as a value selecting 'rev'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'rev'.
Content with a 'attr()' function as a value selecting 'rowspan'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'rowspan'.
Content with a 'attr()' function as a value selecting 'rules'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'rules'.
Content with a 'attr()' function as a value selecting 'scope'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'scope'.
Content with a 'attr()' function as a value selecting 'shape'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'shape'.
Content with a 'attr()' function as a value selecting 'size'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'size'.
Content with a 'attr()' function as a value selecting 'start'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'start'.
Content with a 'attr()' function as a value selecting 'style'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'style'.
Content with a 'attr()' function as a value selecting 'summary'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'summary'.
Content with a 'attr()' function as a value selecting 'tabindex'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'tabindex'.
Content with a 'attr()' function as a value selecting 'target'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'target'.
Content with a 'attr()' function as a value selecting 'text'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'text'.
Content with a 'attr()' function as a value selecting 'title'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'title'.
Content with a 'attr()' function as a value selecting 'type'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'type'.
Content with a 'attr()' function as a value selecting 'valign'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'valign'.
Content with a 'attr()' function as a value selecting 'value'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'value'.
Content with a 'attr()' function as a value selecting 'version'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'version'.
Content with a 'attr()' function as a value selecting 'vlink'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'vlink'.
Content with a 'attr()' function as a value selecting 'width'
  • The 'content' property properly handles the 'attr()' function when calling the attribute 'width'.
Content with the value of 'open-quote'
  • The 'content' property properly handles an 'open-quote' value.
Content with the value of 'close-quote'
  • The 'content' property properly handles a 'close-quote' value.
Content with the value of 'no-open-quote'
  • The 'content' property properly handles a 'no-open-quote' value.
Content with the value of 'no-close-quote'
  • The 'content' property properly handles a 'no-close-quote' value.
Content with the value of 'inherit'
  • The 'content' property correctly handles an 'inherit' value.
Content property works only with :before and :after
  • Content property only works in conjunction with the :before and :after pseudo-elements.
Content property missing attr(x)
  • If attribute (x) does not exist then an empty string is returned for the attr(x) value.
Content property attr(x) case sensitivity
  • The attr(x) function selects the attribute even when case does not match.
Content property on out of scope counter
  • If content refers to a counter that is not in scope, it is assumed that a counter-reset has occurred and the counter is reset to zero.
Content property \A creates newline
  • A '\A' creates a newline for strings in the content property.
Content property with missing image
  • When the URI resource cannot be displayed the user agent needs to leave it out or display some indication that the resource cannot be displayed.
G
Content property and white-space handling
  • The property 'white-space' applies to generated string content.
Counter-increment on out of scope counter
  • If a counter-increment refers to counter that is not in scope it assumes that a counter-reset has occurred and resets back to zero.
Counter-increment only on 'display: none' element
  • An element that is set to 'display: none' does not increment or create a counter.
Counter-increment on 'display: none' element
  • An element that is set to 'display: none' does not increment counters.
Counter-increment on pseudo-element and 'display: none' on element
  • An element that is set to 'display: none' does not increment counters when increment is on the pseudo-element.
Counter-increment on pseudo-element, 'display: none' on element and parent with counter-reset
  • An element that is set to 'display: none' does not increment counters when increment is on the pseudo-element.
Multiple counter-increment before counter use
  • If multiple increments are specified on the same counter then all of them occur in the order specified.
Counter-increment on pseudo-element that is not generated
  • Pseudo-elements that are not generated do not increment counters.
Counter-increment only on 'visibility: hidden' element
  • An element that is set to 'visibility: hidden' does increment and can create a counter.
Counter-increment on 'visibility: hidden' element
  • An element that is set to 'visibility: hidden' does increment counters.
Counter-increment on pseudo-element and 'visibility: hidden' on element
  • An element that is set to 'visibility: hidden' does increment counters when increment is on the pseudo-element.
Counter-increment on pseudo-element, 'visibility: hidden' on element and parent with counter-reset
  • An element that is set to 'visibility: hidden' does increment counters when increment is on the pseudo-element.
Counter-reset on 'display: none' element
  • An element that is set to 'display: none' does not reset counters.
Counter-reset before 'counter-increment' before 'counter' use
  • When both reset and increment are present that the reset occurs first and the increment second.
Multiple 'counter-reset' before 'counter' use
  • If multiple resets are specified on the same 'counter' then all of them occur in the order specified.
Counter-reset on pseudo-element that is not generated
  • Pseudo-elements that are not generated do not reset counters.
Counter-reset on visibility: hidden element
  • Elements that are set to 'visibility: hidden' reset counters.
Counter-increment before 'counter' use
  • A counter is used after an increment.
Content with multiple content values
  • When 'content' property values produce no visual effect or are invalid in the current context the other 'content' property values still apply.
Function 'attr()' referencing another elements attribute data
  • The 'attr()' function can only retrieve data from the same element that is called from.
Quotes with negative depth
  • When a 'close-quote' makes the depth negative then depth stays at 0. Insertion of a quote does not occur but the remainder of the content string is inserted.
Quotes not affected by page level quotes
  • The page content quotes do not affect the depth of generated quotes.
Quote depth exceeded
  • If the depth of the 'quotes' is more than the defined pairs then repeat the last set of pair.
Counter-reset before counter use
  • Counter is used after a reset.
12.3 Quotation marks
12.3.1 Specifying quotes with the 'quotes' property
Quotes with two values
  • Verify that quotes is supported when specifying only one set of quotes.
Quotes with four values
  • The 'quotes' property handles specifying two sets of quotes.
Quotes with six values
  • The 'quotes' property handles specifying three sets of quotes.
Quotes with eight values
  • Verify that quotes is supported when specifying four sets of quotes.
Quotes with ten values
  • Verify that quotes is supported when specifying five sets of quotes.
Quotes with twelve values
  • Verify that quotes is supported when specifying six sets of quotes.
Quotes with fourteen values
  • Verify that quotes is supported when specifying seven sets of quotes.
Quotes with sixteen values
  • Verify that quotes is supported when specifying eight sets of quotes.
Quotes with eighteen values
  • Verify that quotes is supported when specifying nine sets of quotes.
Quotes with twenty values
  • Verify that quotes is supported when specifying ten sets of quotes.
Quotes with twenty-two values
  • Verify that quotes is supported when specifying eleven sets of quotes.
Quotes with twenty-four values
  • Verify that quotes is supported when specifying twelve sets of quotes.
Quotes with twenty-six values
  • Verify that quotes is supported when specifying thirteen sets of quotes.
Quotes with twenty-eight values
  • Verify that quotes is supported when specifying fourteen sets of quotes.
Quotes with thirty values
  • Verify that quotes is supported when specifying fifteen sets of quotes.
Quotes with thirty-two values
  • Verify that quotes is supported when specifying sixteen sets of quotes.
Quotes with thirty-four values
  • Verify that quotes is supported when specifying seventeen sets of quotes.
Quotes with thirty-six values
  • Verify that quotes is supported when specifying eighteen sets of quotes.
Quotes with thirty-eight values
  • Verify that quotes is supported when specifying nineteen sets of quotes.
Quotes with forty values
  • Verify that quotes is supported when specifying twenty sets of quotes.
Quotes with forty-two values
  • Verify that quotes is supported when specifying twenty-one sets of quotes.
Quotes with forty-four values
  • Verify that quotes is supported when specifying twenty-two sets of quotes.
Quotes with forty-six values
  • Verify that quotes is supported when specifying twenty-three sets of quotes.
Quotes with forty-eight values
  • Verify that quotes is supported when specifying twenty-four sets of quotes.
Quotes with fifty values
  • Verify that quotes is supported when specifying twenty-five sets of quotes.
Quotes with fifty-two values
  • Verify that quotes is supported when specifying twenty-six sets of quotes.
Quotes with fifty-four values
  • Verify that quotes is supported when specifying twenty-seven sets of quotes.
Quotes with fifty-six values
  • Verify that quotes is supported when specifying twenty-eight sets of quotes.
Quotes with fifty-eight values
  • Verify that quotes is supported when specifying twenty-nine sets of quotes.
Quotes with sixty values
  • Verify that quotes is supported when specifying thirty sets of quotes.
Quotes with sixty-two values
  • Verify that quotes is supported when specifying thirty-one sets of quotes.
Quotes with sixty-four values
  • Verify that quotes is supported when specifying thirty-two sets of quotes.
Quotes with a value of 'none'
  • The 'quotes' property set to 'none' does not allow quotes to be generated.
Quotes set to 'inherit'
  • The quotes property set to 'inherit' correctly inherits the value from the patent element.
Quotes applied to elements with 'display' set to 'table-row-group'
  • The 'quotes' property applies to elements with a 'display' set to 'table-row-group'.
Quotes applied to elements with 'display' set to 'table-header-group'
  • The 'quotes' property applies to elements with a 'display' set to 'table-header-group'.
Quotes applied to elements with 'display' set to 'table-footer-group'
  • The 'quotes' property applies to elements with a 'display' set to 'table-footer-group'.
Quotes applied to elements with 'display' set to 'table-row'
  • The 'quotes' property applies to elements with a 'display' set to 'table-row'.
Quotes applied to elements with 'display' set to 'table-column-group'
  • The 'quotes' property does not apply to elements with a 'display' set to 'table-column-group'.
Quotes applied to elements with 'display' set to 'table-column'
  • The 'quotes' property does not apply to elements with a 'display' set to 'table-column'.
Quotes applied to elements with 'display' set to 'table-cell'
  • The 'quotes' property applies to elements with a 'display' set to 'table-cell'.
Quotes applied to elements with 'display' set to 'inline'
  • The 'quotes' property applies to elements with a 'display' set to 'inline'.
Quotes applied to elements with 'display' set to 'block'
  • The 'quotes' property applies to elements with a 'display' set to 'block'.
Quotes applied to elements with 'display' set to 'list-item'
  • The 'quotes' property applies to elements with a 'display' set to 'list-item'.
Quotes applied to elements with 'display' set to 'run-in'
  • The 'quotes' property applies to elements with a 'display' set to 'run-in'.
Quotes applied to elements with 'display' set to 'inline-block'
  • The 'quotes' property applies to elements with a 'display' set to 'inline-block'.
Quotes applied to elements with 'display' set to 'table'
  • The 'quotes' property applies to elements with a 'display' set to 'table'.
Quotes applied to elements with 'display' set to 'inline-table'
  • The 'quotes' property applies to elements with a 'display' set to 'inline-table'.
Quotes applied to elements with 'display' set to 'table-caption'
  • The 'quotes' property applies to elements with a 'display' set to 'table-caption'.
12.3.2 Inserting quotes with the 'content' property
12.4 Automatic counters and numbering
dynamic changes to 'counter-increment' O
dynamic changes to 'counter-increment' O
dynamic changes to 'counter-increment' O
Counter-increment with an identifier and a number set to the minimum value, ident -2147483648
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum value.
Counter-increment with an identifier and a number set to the minimum minus one value, ident -2147483647
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum value.
Counter-increment with an identifier and a number set to negative zero, ident -0
  • The 'counter-increment' property with an identifier and an integer value set to negative zero.
Counter-increment with an identifier and a number set to zero, ident 0
  • The 'counter-increment' property with an identifier and an integer value set to zero.
Counter-increment with an identifier and a number set to positive zero, ident +0
  • The 'counter-increment' property with an identifier and an integer value set to positive zero.
Counter-increment with an identifier and a number set to nominal value, ident 10
  • The 'counter-increment' property with an identifier and an integer value.
Counter-increment with an identifier and a number set to a positive nominal value, ident +10
  • The 'counter-increment' property with an identifier and a positive integer value.
Counter-increment with an identifier and a number equivalent to the maximum minus one value, ident 2147483646
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum minus one value.
Counter-increment with an identifier and a number equivalent to the maximum value, ident 2147483647
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value.
Counter-increment with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value with a plus sign.
Counter-increment with an identifier and a number equivalent to the maximum plus one value, ident 2147483648
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum plus one value.
Counter-increment with only an identifier, grouped twice
  • The 'counter-increment' property with only an identifier, grouped twice.
Counter-increment with an identifier and a number set to the minimum minus one value, ident -2147483649, grouped twice
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum minus one value, grouped twice.
Counter-increment with an identifier and a number set to the minimum value, ident -2147483648, grouped twice
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum value, grouped twice.
Counter-increment with an identifier and a number set to the minimum plus one value, ident -2147483647, grouped twice
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum plus one value, grouped twice.
Counter-increment with an identifier and a number set to negative zero, ident -0, grouped twice
  • The 'counter-increment' property with an identifier and an integer value set to negative zero, grouped twice.
Counter-increment with an identifier and a number set to zero, ident 0, grouped twice
  • The 'counter-increment' property with an identifier and an integer value set to zero, grouped twice.
Counter-increment with an identifier and a number set to positive zero, ident +0, grouped twice
  • The 'counter-increment' property with an identifier and an integer value set to positive zero, grouped twice.
Counter-increment with an identifier and a number set to nominal value, ident 10, grouped twice
  • The 'counter-increment' property with an identifier and an integer value, grouped twice.
Counter-increment with an identifier and a number set to a positive nominal value, ident +10, grouped twice
  • The 'counter-increment' property with an identifier and a positive integer value, grouped twice.
Counter-increment with an identifier and a number equivalent to the maximum minus one value, ident 2147483646, grouped twice
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum minus one value, grouped twice.
Counter-increment with an identifier and a number equivalent to the maximum value, ident 2147483647, grouped twice
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value, grouped twice.
Counter-increment with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647, grouped twice
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value with a plus sign, grouped twice.
Counter-increment with an identifier and a number equivalent to the maximum plus one value, ident 2147483648, grouped twice
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum plus one value, grouped twice.
Counter-increment with only an identifier, grouped three times
  • The 'counter-increment' property with only an identifier, grouped three times.
Counter-increment with an identifier and a number set to the minimum minus one value, ident -2147483649, grouped three times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum minus one value, grouped three times.
Counter-increment with an identifier and a number set to the minimum value, ident -2147483648, grouped three times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum value, grouped three times.
Counter-increment with an identifier and a number set to the minimum minus one value, ident -2147483647, grouped three times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum value, grouped three times.
Counter-increment with an identifier and a number set to negative zero, ident -0, grouped three times
  • The 'counter-increment' property with an identifier and an integer value set to negative zero, grouped three times.
Counter-increment with an identifier and a number set to zero, ident 0, grouped three times
  • The 'counter-increment' property with an identifier and an integer value set to zero, grouped three times.
Counter-increment with an identifier and a number set to positive zero, ident +0, grouped three times
  • The 'counter-increment' property with an identifier and an integer value set to positive zero, grouped three times.
Counter-increment with an identifier and a number set to nominal value, ident 10, grouped three times
  • The 'counter-increment' property with an identifier and an integer value, grouped three times.
Counter-increment with an identifier and a number set to a positive nominal value, ident +10, grouped three times
  • The 'counter-increment' property with an identifier and a positive integer value, grouped three times.
Counter-increment with an identifier and a number equivalent to the maximum minus one value, ident 2147483646, grouped three times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum minus one value, grouped three times.
Counter-increment with an identifier and a number equivalent to the maximum value, ident 2147483647, grouped three times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value, grouped three times.
Counter-increment with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647, grouped three times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value with a plus sign, grouped three times.
Counter-increment with an identifier and a number equivalent to the maximum plus one value, ident 2147483648, grouped three times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum plus one value, grouped three times.
Counter-increment with only an identifier, grouped thirty-two times
  • The 'counter-increment' property with only an identifier, grouped thirty-two times.
Counter-increment with an identifier and a number set to the minimum minus one value, ident -2147483649, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum minus one value, grouped thirty-two times.
Counter-increment with an identifier and a number set to the minimum value, ident -2147483648, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum value, grouped thirty-two times.
Counter-increment with an identifier and a number set to the minimum minus one value, ident -2147483647, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum value, grouped thirty-two times.
Counter-increment with an identifier and a number set to negative zero, ident -0, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value set to negative zero, grouped thirty-two times.
Counter-increment with an identifier and a number set to zero, ident 0, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value set to zero, grouped thirty-two times.
Counter-increment with an identifier and a number set to positive zero, ident +0, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value set to positive zero, grouped thirty-two times.
Counter-increment with an identifier and a number set to nominal value, ident 10, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value, grouped thirty-two times.
Counter-increment with an identifier and a number set to a positive nominal value, ident +10, grouped thirty-two times
  • The 'counter-increment' property with an identifier and a positive integer value, grouped thirty-two times.
Counter-increment with an identifier and a number equivalent to the maximum minus one value, ident 2147483646, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum minus one value, grouped thirty-two times.
Counter-increment with an identifier and a number equivalent to the maximum value, ident 2147483647, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value, grouped thirty-two times.
Counter-increment with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum value with a plus sign, grouped thirty-two times.
Counter-increment with an identifier and a number equivalent to the maximum plus one value, ident 2147483648, grouped thirty-two times
  • The 'counter-increment' property with an identifier and an integer value equivalent to the maximum plus one value, grouped thirty-two times.
Counter-increment with the value 'none'
  • The counter-increment set to 'none' does not increment counter.
Counter-increment with a value of inherit
  • The counter-increment with the value inherit specified.
Counter-increment with only an identifier
  • The 'counter-increment' property with only an identifier.
Counter-increment with an identifier and a number set to the minimum minus one value, ident -2147483649
  • The 'counter-increment' property with an identifier and an integer value equivalent to the minimum minus one value.
Counter-increment applied to elements with 'display' set to 'table-row-group'
  • The 'counter-increment' property applies to elements with a 'display' set to 'table-row-group'.
Counter-increment applied to elements with 'display' set to 'table-header-group'
  • The 'counter-increment' property applies to elements with a 'display' set to 'table-header-group'.
Counter-increment applied to elements with 'display' set to 'table-footer-group'
  • The 'counter-increment' property applies to elements with a 'display' set to 'table-footer-group'.
Counter-increment applied to elements with display table-row
  • The 'counter-increment' property applies to elements with a display of table-row.
Counter-increment applied to elements with 'display' set to 'table-column-group'
  • The 'counter-increment' property applies to elements with a 'display' set to 'table-column-group'.
Counter-increment applied to elements with 'display' set to 'table-column'
  • The 'counter-increment' property applies to elements with a 'display' set to 'table-column'.
Counter-increment applied to elements with 'display' set to 'table-cell'
  • The 'counter-increment' property applies to elements with a 'display' of 'table-cell'.
Counter-increment applied to elements with 'display' set to 'inline'
  • The 'counter-increment' property applies to elements with a 'display' set to 'inline'.
Counter-increment applied to elements with 'display' set to 'block'
  • The 'counter-increment' property applies to elements with a 'display' set to 'block'.
Counter-increment applied to elements with 'display' set to 'list-item'
  • The 'counter-increment' property applies to elements with a 'display' set to 'list-item'.
Counter-increment applied to elements with 'display' set to 'run-in'
  • The 'counter-increment' property applies to elements with a 'display' set to 'run-in'.
Counter-increment applied to elements with 'display' set to 'inline-block'
  • The 'counter-increment' property applies to elements with a 'display' set to 'inline-block'.
Counter-increment applied to elements with display table
  • The 'counter-increment' property applies to elements with a display of table.
Counter-increment applied to elements with display inline-table
  • The 'counter-increment' property applies to elements with a display of inline-table.
Counter-increment applied to elements with display table-caption
  • The 'counter-increment' property applies to elements with a display of table-caption.
dynamic changes to 'counter-increment' O
dynamic changes to 'counter-increment' O
dynamic changes to 'counter-increment' O
Counter-reset with an identifier and a number set to the minimum value, ident -2147483648
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483647
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value.
Counter-reset with an identifier and a number set to negative zero, ident -0
  • The 'counter-reset' property with an identifier and an integer value set to negative zero.
Counter-reset with an identifier and a number set to zero, ident 0
  • The 'counter-reset' property with an identifier and an integer value set to zero.
Counter-reset with an identifier and a number set to positive zero, ident +0
  • The 'counter-reset' property with an identifier and an integer value set to positive zero.
Counter-reset with an identifier and a number set to nominal value, ident 10
  • The 'counter-reset' property with an identifier and an integer value.
Counter-reset with an identifier and a number set to a positive nominal value, ident +10
  • The 'counter-reset' property with an identifier and a positive integer value.
Counter-reset with an identifier and a number equivalent to the maximum minus one value, ident 2147483646
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum minus one value.
Counter-reset with an identifier and a number equivalent to the maximum value, ident 2147483647
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value.
Counter-reset with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value with a plus sign.
Counter-reset with an identifier and a number equivalent to the maximum plus one value, ident 2147483648
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum plus one value.
Counter-reset with only an identifier, grouped twice
  • The 'counter-reset' property with only an identifier, grouped twice.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483649, grouped twice
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum minus one value, grouped twice.
Counter-reset with an identifier and a number set to the minimum value, ident -2147483648, grouped twice
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value, grouped twice.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483647, grouped twice
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value, grouped twice.
Counter-reset with an identifier and a number set to negative zero, ident -0, grouped twice
  • The 'counter-reset' property with an identifier and an integer value set to negative zero, grouped twice.
Counter-reset with an identifier and a number set to zero, ident 0, grouped twice
  • The 'counter-reset' property with an identifier and an integer value set to zero, grouped twice.
Counter-reset with an identifier and a number set to positive zero, ident +0, grouped twice
  • The 'counter-reset' property with an identifier and an integer value set to positive zero, grouped twice.
Counter-reset with an identifier and a number set to nominal value, ident 10, grouped twice
  • The 'counter-reset' property with an identifier and an integer value, grouped twice.
Counter-reset with an identifier and a number set to a positive nominal value, ident +10, grouped twice
  • The 'counter-reset' property with an identifier and a positive integer value, grouped twice.
Counter-reset with an identifier and a number equivalent to the maximum minus one value, ident 2147483646, grouped twice
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum minus one value, grouped twice.
Counter-reset with and identifier and a number equivalent to the maximum value, ident 2147483647, grouped twice
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value, grouped twice.
Counter-reset with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647, grouped twice
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value with a plus sign, grouped twice.
Counter-reset with an identifier and a number equivalent to the maximum plus one value, ident 2147483648, grouped twice
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum plus one value, grouped twice.
Counter-reset with only an identifier, grouped three times
  • The 'counter-reset' property with only an identifier, grouped three times.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483649, grouped three times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum minus one value, grouped three times.
Counter-reset with an identifier and a number set to the minimum value, ident -2147483648, grouped three times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value, grouped three times.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483647, grouped three times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value, grouped three times.
Counter-reset with an identifier and a number set to negative zero, ident -0, grouped three times
  • The 'counter-reset' property with an identifier and an integer value set to negative zero, grouped three times.
Counter-reset with an identifier and a number set to zero, ident 0, grouped three times
  • The 'counter-reset' property with an identifier and an integer value set to zero, grouped three times.
Counter-reset with an identifier and a number set to positive zero, ident +0, grouped three times
  • The 'counter-reset' property with an identifier and an integer value set to positive zero, grouped three times.
Counter-reset with an identifier and a number set to nominal value, ident 10, grouped three times
  • The 'counter-reset' property with an identifier and an integer value, grouped three times.
Counter-reset with an identifier and a number set to a positive nominal value, ident +10, grouped three times
  • The 'counter-reset' property with an identifier and a positive integer value, grouped three times.
Counter-reset with an identifier and a number equivalent to the maximum minus one value, ident 2147483646, grouped three times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum minus one value, grouped three times.
Counter-reset with an identifier and a number equivalent to the maximum value, ident 2147483647, grouped three times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value, grouped three times.
Counter-reset with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647, grouped three times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value with a plus sign, grouped three times.
Counter-reset with an identifier and a number equivalent to the maximum plus one value, ident 2147483648, grouped three times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum plus one value, grouped three times.
Counter-reset with only an identifier, grouped thirty-two times
  • The 'counter-reset' property with only an identifier, grouped thirty-two times.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483649, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum minus one value, grouped thirty-two times.
Counter-reset with an identifier and a number set to the minimum value, ident -2147483648, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value, grouped thirty-two times.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483647, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum value, grouped thirty-two times.
Counter-reset with an identifier and a number set to negative zero, ident -0, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value set to negative zero, grouped thirty-two times.
Counter-reset with an identifier and a number set to zero, ident 0, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value set to zero, grouped thirty-two times.
Counter-reset with an identifier and a number set to positive zero, ident +0, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value set to positive zero, grouped thirty-two times.
Counter-reset with an identifier and a number set to nominal value, ident 10, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value, grouped thirty-two times.
Counter-reset with an identifier and a number set to a positive nominal value, ident +10, grouped thirty-two times
  • The 'counter-reset' property with an identifier and a positive integer value, grouped thirty-two times.
Counter-reset with an identifier and a number equivalent to the maximum minus one value, ident 2147483646, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum minus one value, grouped thirty-two times.
Counter-reset with an identifier and a number equivalent to the maximum value, ident 2147483647, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value, grouped thirty-two times.
Counter-reset with an identifier and a number equivalent to the maximum value with a plus sign, ident +2147483647, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum value with a plus sign, grouped thirty-two times.
Counter-reset with an identifier and a number equivalent to the maximum plus one value, ident 2147483648, grouped thirty-two times
  • The 'counter-reset' property with an identifier and an integer value equivalent to the maximum plus one value, grouped thirty-two times.
Counter-reset with the value 'none'
  • The counter-reset set to 'none'.
Counter-reset with a value of inherit
  • The counter-reset with the value inherit specified.
Counter-reset with only an identifier
  • The 'counter-reset' property with only an identifier.
Counter-reset with an identifier and a number set to the minimum minus one value, ident -2147483649
  • The 'counter-reset' property with an identifier and an integer value equivalent to the minimum minus one value.
Counter-reset applied to elements with 'display' set to 'table-row-group'
  • The 'counter-reset' property applies to elements with a 'display' set to 'table-row-group'.
Counter-reset applied to elements with 'display' set to 'table-header-group'
  • The 'counter-reset' property applies to elements with a 'display' set to 'table-header-group'.
Counter-reset applied to elements with 'display' set to 'table-footer-group'
  • The 'counter-reset' property applies to elements with a 'display' set to 'table-footer-group'.
Counter-reset applied to elements with display table-row
  • The 'counter-reset' property applies to elements with a display of table-row.
Counter-reset applied to elements with 'display' set to 'table-column-group'
  • The 'counter-reset' property applies to elements with a 'display' set to 'table-column-group'.
Counter-reset applied to elements with 'display' set to 'table-column'
  • The 'counter-reset' property applies to elements with a 'display' set to 'table-column'.
Counter-reset applied to elements with 'display' set to 'table-cell'
  • The 'counter-reset' property applies to elements with a 'display' of 'table-cell'.
Counter-reset applied to elements with 'display' set to 'inline'
  • The 'counter-reset' property applies to elements with a 'display' set to 'inline'.
Counter-reset applied to elements with 'display' set to 'block'
  • The 'counter-reset' property applies to elements with a 'display' set to 'block'.
Counter-reset applied to elements with 'display' set to 'list-item'
  • The 'counter-reset' property applies to elements with a 'display' set to 'list-item'.
Counter-reset applied to elements with 'display' set to 'run-in'
  • The 'counter-reset' property applies to elements with a 'display' set to 'run-in'.
Counter-reset applied to elements with 'display' set to 'inline-block'
  • The 'counter-reset' property applies to elements with a 'display' set to 'inline-block'.
Counter-reset applied to elements with display table
  • The 'counter-reset' property applies to elements with a display of table.
Counter-reset applied to elements with display inline-table
  • The 'counter-reset' property applies to elements with a display of inline-table.
Counter-reset applied to elements with display table-caption
  • The 'counter-reset' property applies to elements with a display of table-caption.
Counter properties on 'content: none' pseudo-elements
Counter properties on 'display: none' elements
Counter properties on 'visibility: hidden' elements
Multiple resets for same counter
Multiple increments and resets
Order of 'counter-reset', 'counter-increment', and counter use, including pseudo-elements
Order of counters in out-of-flow content
counters on the root element
Counter scope
Counter scope and nesting on elements
Counter scope and nesting on :before
Counter scope and nesting on :after
Counter scope and nesting
Implied counter scopes with no 'counter-increment' or 'counter-reset'
Implied counter scopes by counter use
Implied counter scopes by 'counter-increment'
12.4.1 Nested counters and scope
Counter-reset on later siblings
  • Setting 'counter-reset' on later siblings does not have an effect on previous counters.
Counter scope
Counter scope and nesting on elements
Counter scope and nesting on :before
Counter scope and nesting on :after
Counter scope and nesting
12.4.2 Counter styles
content: counter(c)
content: counter(c, none)
content: counter(c, disc)
content: counter(c, circle)
content: counter(c, square)
content: counter(c, decimal)
content: counter(c, decimal-leading-zero)
content: counter(c, lower-roman)
content: counter(c, upper-roman)
content: counter(c, georgian)
content: counter(c, armenian)
content: counter(c, lower-latin)
content: counter(c, lower-alpha)
content: counter(c, upper-latin)
content: counter(c, upper-alpha)
content: counter(c, lower-greek)
content: counter() error cases I
content: counters(c, ".")
content: counters(c, ".", none)
content: counters(c, ".", disc)
content: counters(c, ".", circle)
content: counters(c, ".", square)
content: counters(c, ".", decimal)
content: counters(c, ".", decimal-leading-zero)
content: counters(c, ".", lower-roman)
content: counters(c, ".", upper-roman)
content: counters(c, ".", georgian)
content: counters(c, ".", armenian)
content: counters(c, ".", lower-latin)
content: counters(c, ".", lower-alpha)
content: counters(c, ".", upper-latin)
content: counters(c, ".", upper-alpha)
content: counters(c, ".", lower-greek)
content: counters() string argument
content: counters() string argument
content: counters() error cases I
12.4.3 Counters in elements with 'display: none'
Counter properties on 'content: none' pseudo-elements
Counter properties on 'display: none' elements
Counter properties on 'visibility: hidden' elements
12.5 Lists
direction:rtl - nested unordered list
  • direction:rtl should apply to nested unordered lists, putting bullets on the right and offset leftwards
direction:rtl - ordered list
  • direction:rtl should apply to nested ordered lists, putting bullets on the right and offset leftwards
text-align: justify and direction:rtl - unordered list
  • text-align: justify should apply to unordered lists in rtl context without affecting their rtlness
text-align: left and direction:rtl - unordered list
  • text-align:left should be applied to unordered list in rtl context without affecting its rtlness
text-align: right and direction:rtl - unordered list
  • text-align:right should be applied to unordered list in rtl context without affecting its rtlness
text-align: center and direction:rtl - unordered list
  • text-align: center should apply to unordered lists in rtl context without affecting their rtlness
display
list-style-type
list-style-type
list-style-image G
list-style-position
  • The marker box is outside the principal block box.
list-style-position
  • The marker box is inside the principal block box.
list-style AG
list-style G
List marker displayed when image missing
  • If the 'list-style-image' is not available then the marker needs to be visible.
G
List-style set to 'none' overrides 'list-style-image'
  • The 'list-style-image' property is also set to 'none when 'list-style' is set to 'none'.
G
list-style-position - text-align
  • Text-align should only format inline content of a list-item's principal block box when the list-item's list-style-position is set to outside
list-style-position - text-indent
  • Text-indent should only format the indentation of the first line of text of a list-item's principal block box when the list-item's list-style-position is set to outside
A
List with background applied
  • Background properties only apply to the principal box and not the marker box when the marker is set to outside.
List marker in right-to-left layout
  • When the 'direction' property is set to 'RTL' the markers for list items are placed on the right.
12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties
direction:rtl - unordered list
  • direction:rtl should apply to unordered lists, putting bullets on the right
List style numbering alignment
  • That the list numbering is aligned consistently.
List-style with only list-style-type as a value
  • The shorthand property 'list-style' applies 'list-style-type'.
List-style with only list-style-position as a value
  • The shorthand property 'list-style' applies 'list-style-position'.
List-style with only list-style-image as a value
  • The shorthand property 'list-style' applies 'list-style-image'.
G
List-style with list-style-type list-style-position as values
  • The shorthand property 'list-style' applies 'list-style-type' and 'list-style-position'.
List-style with list-style-type list-style-image as values
  • The shorthand property 'list-style' applies 'list-style-type' and 'list-style-image'.
G
List-style with 'list-style-position' and 'list-style-type' as values
  • The shorthand property 'list-style' applies 'list-style-position' and 'list-style-type'.
List-style with list-style-position list-style-image as values
  • The shorthand property 'list-style' applies 'list-style-position' and 'list-style-image'.
G
List-style with list-style-image list-style-type as values
  • The shorthand property 'list-style' applies 'list-style-image' and 'list-style-type'.
G
List-style with list-style-image list-style-position as values
  • The shorthand property 'list-style' applies 'list-style-image' and 'list-style-position'.
G
List-style: list-style-type list-style-position list-style-image
  • The shorthand property 'list-style' applies 'list-style-type', 'list-style-position' and 'list-style-image'.
List-style with list-style-type list-style-image list-style-position as values
  • The shorthand property 'list-style' applies 'list-style-type', 'list-style-image' and 'list-style-position'.
List-style with list-style-position list-style-type list-style-image as values
  • The shorthand property 'list-style' applies 'list-style-position', 'list-style-type' and 'list-style-image'.
List-style with list-style-position list-style-image list-style-type as values
  • The shorthand property 'list-style' applies 'list-style-position', 'list-style-image' and 'list-style-type'.
List-style with list-style-image list-style-type list-style-position as values
  • The shorthand property 'list-style' applies 'list-style-image', 'list-style-type' and 'list-style-position'.
List-style with list-style-image list-style-position list-style-type as values
  • The shorthand property 'list-style' applies 'list-style-image', 'list-style-position' and 'list-style-type'.
List-style inheriting a single value
  • The shorthand property 'list-style' set to 'inherit' inherits a single value from the parent.
List-style inheriting two values
  • The shorthand property 'list-style' set to 'inherit' inherits two values from the parent.
List-style inheriting three values
  • The shorthand property 'list-style' set to 'inherit' inherits three values from the parent.
list-style - initial value
  • 'list-style' property is a shorthand notation that sets the three properties 'list-style-type', 'list-style-image' and 'list-style-position'. If one of the 3 list-style properties is not specified explicitly, then such 'list-style' property is assigned its initial value as indicated in its property definition.
G
List-style applied to elements with 'display' set to 'table-row-group'
  • The 'list-style' property applies to elements with 'display' set to 'table-row-group'.
List-style applied to elements with 'display' set to 'table-header-group'
  • The 'list-style' property applies to elements with 'display' set to 'table-header-group'.
List-style applied to elements with 'display' set to 'table-footer-group'
  • The 'list-style' property applies to elements with 'display' set to 'table-footer-group'.
List-style applied to elements with 'display' set to 'table-row'
  • The 'list-style' property applies to elements with 'display' set to 'table-row'.
List-style applied to elements with 'display' set to 'table-column-group'
  • The 'list-style' property applies to elements with 'display' set to 'table-column-group'.
List-style applied to elements with 'display' set to 'table-column'
  • The 'list-style' property applies to elements with 'display' set to 'table-column'.
List-style applied to elements with 'display' set to 'table-cell'
  • The 'list-style' property applies to elements with 'display' set to 'table-cell'.
List-style applied to elements with 'display' set to 'inline'
  • The 'list-style' property applies to elements with 'display' set to 'inline'.
List-style applied to elements with 'display' set to 'block'
  • The 'list-style' property applies to elements with 'display' set to 'block'.
List-style applied to elements with 'display' set to 'list-item'
  • The 'list-style' property applies to elements with 'display' set to 'list-item'.
List-style applied to elements with 'display' set to 'run-in'
  • The 'list-style' property applies to elements with 'display' set to 'run-in'.
List-style applied to elements with 'display' set to 'inline-block'
  • The 'list-style' property applies to elements with 'display' set to 'inline-block'.
List-style applied to elements with 'display' set to 'table'
  • The 'list-style' property applies to elements with 'display' set to 'table'.
List-style applied to elements with 'display' set to 'inline-table'
  • The 'list-style' property applies to elements with 'display' set to 'inline-table'.
List-style applied to elements with 'display' set to 'table-caption'
  • The 'list-style' property applies to elements with 'display' set to 'table-caption'.
List-style-image set to 'inherit'
  • The 'list-style-image' property set to 'inherit' inherits its value from the parent element.
G
List-style-image set using the url() function
  • The 'list-style-image' property set to the url() function properly renders an image.
G
List-style-image set to 'none'
  • The 'list-style-image' property set to 'none' does not render any image.
G
List-style-image applied to elements with 'display' set to 'table-row-group'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-row-group'.
G
List-style-image applied to elements with 'display' set to 'table-header-group'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-header-group'.
G
List-style-image applied to elements with 'display' set to 'table-footer-group'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-footer-group'.
G
List-style-image applied to elements with 'display' set to 'table-row'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-row'.
G
List-style-image applied to elements with 'display' set to 'table-column-group'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-column-group'.
G
List-style-image applied to elements with 'display' set to 'table-column'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-column'.
G
List-style-image applied to elements with 'display' set to 'table-cell'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-cell'.
G
List-style-image applied to elements with 'display' set to 'inline'
  • The 'list-style-image' property applies to elements with 'display' set to 'inline'.
G
List-style-image applied to elements with 'display' set to 'block'
  • The 'list-style-image' property applies to elements with 'display' set to 'block'.
G
List-style-image applied to elements with 'display' set to 'list-item'
  • The 'list-style-image' property applies to elements with 'display' set to 'list-item'.
G
List-style-image applied to elements with 'display' set to 'run-in'
  • The 'list-style-image' property applies to elements with 'display' set to 'run-in'.
G
List-style-image applied to elements with 'display' set to 'inline-block'
  • The 'list-style-image' property applies to elements with 'display' set to 'inline-block'.
G
List-style-image applied to elements with 'display' set to 'table'
  • The 'list-style-image' property applies to elements with 'display' set to 'table'.
G
List-style-image applied to elements with 'display' set to 'inline-table'
  • The 'list-style-image' property applies to elements with 'display' set to 'inline-table'.
G
List-style-image applied to elements with 'display' set to 'table-caption'
  • The 'list-style-image' property applies to elements with 'display' set to 'table-caption'.
G
list-style-position - text-align
  • Text-align should only format inline content of a list-item's principal block box when the list-item's list-style-position is set to outside
list-style-position - text-indent
  • Text-indent should only format the indentation of the first line of text of a list-item's principal block box when the list-item's list-style-position is set to outside
A
List-style-position set to 'inside'
  • The 'list-style-position' property set to 'inside' places the marker inside of the list item principal block box.
List-style-position set to 'outside'
  • The 'list-style-position' property set to 'outside' places the marker outside of the list item principal block box.
List-style-position set to 'inherit'
  • The 'list-style-position' property set to 'inherit' retrieves its value from its parent element.
List-style-position applied to elements with 'display' set to 'table-row-group'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-row-group'.
List-style-position applied to elements with 'display' set to 'table-header-group'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-header-group'.
List-style-position applied to elements with 'display' set to 'table-footer-group'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-footer-group'.
List-style-position applied to elements with 'display' set to 'table-row'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-row'.
List-style-position applied to elements with 'display' set to 'table-column-group'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-column-group'.
List-style-position applied to elements with 'display' set to 'table-column'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-column'.
List-style-position applied to elements with 'display' set to 'table-cell'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-cell'.
List-style-position applied to elements with 'display' set to 'inline'
  • The 'list-style-position' property applies to elements with 'display' set to 'inline'.
List-style-position applied to elements with 'display' set to 'block'
  • The 'list-style-position' property applies to elements with 'display' set to 'block'.
List-style-position applied to elements with 'display' set to 'list-item'
  • The 'list-style-position' property applies to elements with 'display' set to 'list-item'.
List-style-position applied to elements with 'display' set to 'run-in'
  • The 'list-style-position' property applies to elements with 'display' set to 'run-in'.
List-style-position applied to elements with 'display' set to 'inline-block'
  • The 'list-style-position' property applies to elements with 'display' set to 'inline-block'.
List-style-position applied to elements with 'display' set to 'table'
  • The 'list-style-position' property applies to elements with 'display' set to 'table'.
List-style-position applied to elements with 'display' set to 'inline-table'
  • The 'list-style-position' property applies to elements with 'display' set to 'inline-table'.
List-style-position applied to elements with 'display' set to 'table-caption'
  • The 'list-style-position' property applies to elements with 'display' set to 'table-caption'.
List-style-type set to 'disc'
  • The 'list-style-type' property set to 'disc' renders the correct list item marker.
List-style-type set to 'circle'
  • The 'list-style-type' property set to 'circle' renders the correct list item marker.
List-style-type set to 'square'
  • The 'list-style-type' property set to 'square' renders the correct list item marker.
List-style-type set to 'decimal'
  • The 'list-style-type' property set to 'decimal' renders the correct list item marker.
List-style-type set to 'decimal-leading-zero'
  • The 'list-style-type' property set to 'decimal-leading-zero' renders the correct list item marker.
List-style-type set to 'lower-roman'
  • The 'list-style-type' property set to 'lower-roman' renders the correct list item marker.
List-style-type set to 'upper-roman'
  • The 'list-style-type' property set to 'upper-roman' renders the correct list item marker.
List-style-type set to 'lower-greek'
  • The 'list-style-type' property set to 'lower-greek' renders the correct list item marker.
List-style-type set to 'lower-latin'
  • The 'list-style-type' property set to 'lower-latin' renders the correct list item marker.
List-style-type set to 'upper-latin'
  • The 'list-style-type' property set to 'upper-latin' renders the correct list item marker.
List-style-type set to 'armenian'
  • The 'list-style-type' property set to 'armenian' renders the correct list item marker.
List-style-type set to 'georgian'
  • The 'list-style-type' property set to 'georgian' renders the correct list item marker.
List-style-type set to 'lower-alpha'
  • The 'list-style-type' property set to 'lower-alpha' renders the correct list item marker.
List-style-type set to 'upper-alpha'
  • The 'list-style-type' property set to 'upper-alpha' renders the correct list item marker.
List-style-type set to 'none'
  • The 'list-style-type' property set to 'none' does not display a marker bullet.
List-style-type set to 'inherit'
  • The 'list-style-type' property set to 'inherit' inherits the value from the parent element.
List-style-type applied to elements with 'display' set to 'table-row-group'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-row-group'.
List-style-type applied to elements with 'display' set to 'table-header-group'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-header-group'.
List-style-type applied to elements with 'display' set to 'table-footer-group'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-footer-group'.
List-style-type applied to elements with 'display' set to 'table-row'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-row'.
List-style-type applied to elements with 'display' set to 'table-column-group'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-column-group'.
List-style-type applied to elements with 'display' set to 'table-column'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-column'.
List-style-type applied to elements with 'display' set to 'table-cell'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-cell'.
List-style-type applied to elements with 'display' set to 'inline'
  • The 'list-style-type' property applies to elements with 'display' set to 'inline'.
List-style-type applied to elements with 'display' set to 'block'
  • The 'list-style-type' property applies to elements with 'display' set to 'block'.
List-style-type applied to elements with 'display' set to 'list-item'
  • The 'list-style-type' property applies to elements with 'display' set to 'list-item'.
List-style-type applied to elements with 'display' set to 'run-in'
  • The 'list-style-type' property applies to elements with 'display' set to 'run-in'.
List-style-type applied to elements with 'display' set to 'inline-block'
  • The 'list-style-type' property applies to elements with 'display' set to 'inline-block'.
List-style-type applied to elements with 'display' set to 'table'
  • The 'list-style-type' property applies to elements with 'display' set to 'table'.
List-style-type applied to elements with 'display' set to 'inline-table'
  • The 'list-style-type' property applies to elements with 'display' set to 'inline-table'.
List-style-type applied to elements with 'display' set to 'table-caption'
  • The 'list-style-type' property applies to elements with 'display' set to 'table-caption'.
Alphabetic list wrapping
  • Alphabetic list wrapping does not exert unexpected behavior to a user.