These are the errata for CSS level 2 revision 1, CR version of 19 July 2007. These corrections have the status of a draft.
[2007-11-14] Append For raster
images without reliable resolution information, a size of 1 px
unit per image source pixel must be assumed.
to the
definition of intrinsic dimensions.
[2007-09-27] Remove DELIM?
from
the grammar rule
declaration :DELIM?property S* ':' S* value;
The DELIM was allowed there so that unofficial properties could
start with a dash (-), but the dash was already allowed because of the
definition of IDENT.
[2007-11-14] In the second bullet, change
to [a-z0-9][a-zA-Z0-9]
; in the
third bullet, change
to
[0-9a-f][0-9a-fA-F]
.
Although the preceding bullet already says that CSS is case-insensitive, the explicit mention of upper and lower case letters helps avoid mistakes.
[2008-03-05] CSS is now case-sensitive, except for certain parts:
All CSS syntax is case-insensitive within the ASCII range (i.e. [a-z] and [A-Z] are equivalent), except for parts that are not under the control of CSS.
[2008-03-05] Insert case-sensitive
in Counters are denoted by case-sensitive
identifiers
.
[2008-04-07] Clarified ~= and |= by using the definitions from the Selectors module.
[2007-11-14] Replace
by tag
selectortype selector
.
[2007-11-22] Spelling error:
prece
.
ndence
[2008-04-07] Clarified that 'display: none' also applies to non-visual media.
[2007-11-14] Add the following paragraph:
Otherwise, if 'width' has a computed value of 'auto', and the element has an intrinsic width, then that intrinsic width is the used value of 'width'.
just before the paragraph beginning Otherwise, if 'width' has a
computed value of 'auto', but none of the conditions above are met,
[…]
.
[2008-03-05] Change the last paragraph as follows:
If it does,
then a percentage intrinsic width on that element can't be resolved and the element is assumed to have no intrinsic widththen the resulting layout is undefined in CSS2.1.
[2008-03-05] Scrollbar widths are no longer included in the containing block width. Remove scrollbar width from:
'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right'
+ scrollbar width (if any)= width of containing block
and from:
If 'width' is not 'auto' and 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width'
+ scrollbar width (if any)[...]
and remove the paragraph:
The "scrollbar width" value is only relevant if the user agent uses a scrollbar as its scrolling mechanism. See the definition of the 'overflow' property.
[2008-03-05] Scrollbar widths are no longer included in the containing block width. Remove scrollbar width from:
'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right'
+ scrollbar width (if any)= width of containing block
and remove the paragraph:
The "scrollbar width" value is only relevant if the user agent uses a scrollbar as its scrolling mechanism. See the definition of the 'overflow' property.
[2008-03-05] Add the following definition:
The static-position containing block is the containing block of a hypothetical box that would have been the first box of the element if its 'position' property had been 'static' and its 'float' had been 'none'.
And change which 'direction' property is used as follows (two occurrences):
[...] if the 'direction' property of the element establishing the static-position containing block is [...]
[2008-03-05] Change bullet 2 as follows:
[...] if the 'direction' property of the element establishing the static-position containing block is [...]
[2008-03-05] Clarification. Replace
This situation is similar to the previous one, except that the element has an intrinsic width. The sequence of substitutions is now:
by
In this case, section 10.3.7 applies up through and including the constraint equation, but the rest of section 10.3.7 is replaced by the following rules:
[2008-04-07] Clarified that margins are not calculated as for inline elements.
[2007-11-14] Add the following paragraph:
Otherwise, if 'height' has a computed value of 'auto', and the element has an intrinsic height, then that intrinsic height is the used value of 'height'.
just before the paragraph beginning Otherwise, if 'height' has a
computed value of 'auto', but none of the conditions above are
met […]
.
[2008-04-07] Clarified that margins are not calculated as for inline elements.
[2007-11-14] In the Note under
'vertical-align', remove slightly
from Values of
this property have
slightly different meanings in the
context of tables.
[2008-03-05] Scrollbar widths are no longer included in the containing block width. Replace
The space taken up by the scrollbars affects the computation of the dimensions in the rendering model.
by
Any space taken up by the scrollbars should be taken out of (subtracted from the dimensions of) the containing block formed by the element with the scrollbars.
[2008-03-05] Insert (but not a
combination)
in User agents must support separation with
commas, but may also support separation without commas (but not a
combination)
.
[2008-03-05] Error in example. Replace hebrew by lower-greek:
BLOCKQUOTE:after { content: " [" counter(bq, hebrew lower-greek) "]" }
[2008-04-07] The size of list style markers without an intrinsic size is now defined.
[2008-04-07] The size of background images without an intrinsic size is now defined.
[2007-11-14] Spelling error:
boxes
.
s
[2008-04-07] Clarification:
The horizontal alignment of a cell's inline content within a cell box
iscan be specified with the 'text-align' property.
[2008-04-07] The size of cursors without an intrinsic size is now defined.
[2007-11-14] Spelling error: change
to ?likÇelik
(2×).
[2007-11-14] Replace but any descendants
which actually create a new stacking context
by but any
positioned descendants and descendants which actually
create a new stacking context
.
[2007-09-27] Change the last S
in
the grammar rule for combinator
to
S+
:
combinator : PLUS S* | GREATER S* | S+
and remove the rule
{s}+\/\*[^*]*\*+([^/*][^*]*\*+)*\/ {unput(' '); /*replace by space*/}
in the tokenizer. The resulting language is the same, but the grammar is easier to read and relies less on specific notations of Flex.
[2007-09-27] Change the tokenizer rule
@{C}{H}{A}{R}{S}{E}{T}{return CHARSET_SYM;}
to
"@charset " {return CHARSET_SYM;}
The @charset must be in lowercase and must have a space after it (as defined in section 4.4 CSS style sheet representation).
[2008-03-05] Change the tokenizer rules
"url("{w}{string}{w}")" {return URI;}"url("{w}{url}{w}")" {return URI;}
to
{U}{R}{L}"("{w}{string}{w}")" {return URI;}
{U}{R}{L}"("{w}{url}{w}")" {return URI;}
[2008-04-07] The definition of the macro
“O” is wrong. The letters O
and o can be written with hexadecimal escapes as
“\4f” and “\6f”
respectively (not as “\51” and
“\71”). The macro should therefore be
O o|\\0{0,4}(4f|6f)(\r\n|[ \t\r\n\f])?|\\o
Bert Bos