Re: CSS 2: Table Cells and the "line-height" Property

From: Ian Hickson <ian@hixie.ch>
Subject: Re: CSS 2: Table Cells and the "line-height" Property
Date: Mon, Mar 26, 2001, 2:11 PM

> On Mon, 26 Mar 2001, James Aylard wrote:
>> [...]
>
> All your reasoning so far is perfect.
>
>
>> So: a line box which contains a single inline box, which in turn
>> contains an image of, say, 5 pixels in height -- with "auto" or "0"
>> for its "top", "bottom", "margin-top", and "margin-bottom" settings
>> -- will itself be 5 pixels in height.
>
> No. You have forgotten section 10.8.1, which says how 'line-height'
> applies to blocks [1]:
>
> # If the property is set on a block-level element whose content is
> # composed of inline-level elements, it specifies the minimal height
> # of each generated inline box.

So far so good.

> The initial value of 'line-height' is normal,

A-ha! - here is the faulty leap.

Note that in description in specifically said:

"_If_ the property is set "

That to me says, "not counting the initial value".

And I don't accept the "but a property is always set" argument, because, if
that were true, then that phrase "If the property is set" could have been
omitted from the above description.

Obviously the authors of the spec intended the lack of a setting on
line-height to mean something when they wrote that part of the spec.

Therefore a perfectly reasonable interpretation which is consistent with
that part of the spec is vertically shrinking wrapping a line box to its
contents.  No line-height setting, no line-height "effect".  Done.

This interpretation yields backward compatibility with how HTML browsers
have been rendering content for years by default, and so this is strongly
preferred.

And therefore this is what we implemented.

Tantek

P.S. I also don't accept the "but that statement shouldn't have been there,
because by removing it, it makes more my model make more sense" argument
either - that's what we call a circular argument.

Received on Monday, 26 March 2001 19:27:04 UTC