On Sun, 11 Apr 2004, Felix Miata wrote:
>
> I'd be surprised to learn that that page's author would not see the
> overlapping in a compliant browser as a bug in that browser rather than
> a flaw in his own effort.

Since the page is a Web browser's home page, I would hope that the author
of that page _would_ realise his mistake. It does not bode well when Web
browsers have Web sites whose authors do not understand Web standards.


> To me, 1.2em=100%=1.2 here.

# An <integer> consists of one or more digits "0" to "9".
 -- http://www.w3.org/TR/CSS21/syndata.html#value-def-number

# A <number> can either be an <integer>, or it can be zero or more digits
# followed by a dot (.) followed by one or more digits.
 -- http://www.w3.org/TR/CSS21/syndata.html#value-def-number

# The format of a length value (denoted by <length> in this specification)
# is a <number> (with or without a decimal point) immediately followed by
# a unit identifier (e.g., px, em, etc.). After a zero length, the unit
# identifier is optional.
 -- http://www.w3.org/TR/CSS21/syndata.html#value-def-length

# The format of a percentage value (denoted by <percentage> in this
# specification) is a <number> immediately followed by '%'.
 -- http://www.w3.org/TR/CSS21/syndata.html#value-def-percentage

So 1.2em is a <length>, 120% is a <percentage>, 1.2 is a <number>. The
specification explicitly states that the three are different:

# <length>
#     The specified length is used in the calculation of the line box
#     height. Negative values are illegal.
# <number>
#     The used value of the property is this number multiplied by the
#     element's font size. Negative values are illegal. The computed value
#     is the same as the specified value.
# <percentage>
#     The computed value of the property is this percentage multiplied by
#     the element's computed font size. Negative values are illegal.
 -- http://www.w3.org/TR/CSS21/visudet.html#propdef-line-height

It also states it more tersely higher up:

# Computed value: for <length> and <percentage> the absolute value;
#                 otherwise as specified
 -- http://www.w3.org/TR/CSS21/visudet.html#propdef-line-height

Finally, the specification states:

# When inheritance occurs, elements inherit computed values. The computed
# value from the parent element becomes both the specified value and the
# computed value on the child.
 -- http://www.w3.org/TR/CSS21/cascade.html#inheritance

So it seems very clear to me that Konqueror's rendering is in violation of
the specifications that we aim to uphold for the sake of interoperability.
Note that as far as I am aware, more Web browsers render this according to
the specifications than in the way Konqueror does (indeed, on my test
case, Konqueror is alone in its errorneous rendering).

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
U+1047E                                         /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'
_______________________________________________
mozilla-layout mailing list
[EMAIL PROTECTED]
http://mail.mozilla.org/listinfo/mozilla-layout

Reply via email to