- From: Bert Bos <bert@w3.org>
- Date: Fri, 25 Mar 2011 19:09:00 +0100
- To: Anton Prowse <prowse@moonhenge.net>
- Cc: W3C style mailing list <www-style@w3.org>
On Sunday 06 March 2011 19:13:13 Anton Prowse wrote:
> On 04/03/2011 17:09, Bert Bos wrote:
> > (See http://wiki.csswg.org/spec/css2.1#issue-181)
> >
> > The first list item in section 10.8 (Line height calculations: the
> > 'line-height' and 'vertical-align' properties[1]) in the current
> > draft
> >
> > says:
> > | 1. The height of each inline-level box in the line box is
> > | calculated
> > |
> > | (see "Calculating heights and margins" and the 'line-height'
> > | property).
> >
> > That is confusing, because the height is not the content height and
> > you have to follow the links to know what height it actually is. I
> > had an
> >
> > action to make this clear and this is my change:
> > 1. The height of each inline-level box in the line box is
> > calculated.
> >
> > For replaced elements, inline-block elements, and
> > inline-table elements, this is the height of their margin
> > box; for inline boxes, this is their 'line-height'. (See
> > "Calculating heights and margins" and the height of inline
> > boxes in "Leading and half- leading".)
>
> But this contradicts your resolution to Issue 118 which is now in the
> WD:
>
> # 10.8.1 Leading and half-leading
> #
> # Still for each glyph, determine the leading L to add, where L =
> # line-height - AD. Half the leading is added above A and the other
> # half below D, giving the glyph and its leading a total height
above
> # the baseline of A' = A + L/2 and a total depth of D' = D + L/2.
> #
> # The height of the inline box is then the smallest such that it
> # encloses all glyphs and their leading, as well as all nested
inline
> # boxes.
>
> According to that, the height of a non-replaced inline box is the
> minimum which encloses all glyphs and their leading (which, by
> construction, is the value of 'line-height' even in cases of
> fallbacks from other fonts) *and* encloses all nested inline boxes.
> The latter isn't very clear; I suppose it means that, for each
> nested inline box, it encloses the vertical extremities of the
> rectangle whose height is equal to the height of the inline box (cf.
> my concept of "guide boxes"). If so, the height of a non-replaced
> inline box may certainly be bigger than its 'line-height'.
We have since changed the last of the sentences you quoted so that the
height of an inline box does *not* depend on child elements and is thus
guaranteed to be 'line-height'. We needed that for issue 153[1], which
requires a box of that height for 'vertical-align' to work on. You can
see the new text in the snapshot[2].
[1] http://wiki.csswg.org/spec/css2.1#issue-153
[2] http://www.w3.org/Style/css2-updates/draft-PR-
CSS21-201103XX/visudet.html#leading
>
> Note that what the current WD says seems to be a change from what the
> spec used to say (and still says) in 10.6.1:
>
> # only the 'line-height' is used when calculating the height of the
> # line box.
That is issue 281[3] and we improved the somewhat sloppy sentence to
this:
The vertical padding, border and margin of an inline, non-replaced
box start at the top and bottom of the content area, and has nothing
to do with the 'line-height'. But only the 'line-height' is used
when calculating the height of the line box.[4]
[3] http://wiki.csswg.org/spec/css2.1#issue-281
[4] http://www.w3.org/Style/css2-updates/draft-PR-
CSS21-201103XX/visudet.html#inline-non-replaced
Does that close issue 181?
> Moreover, I'm suspicious that the new text for 10.8.1 doesn't have
> browser support / interop (since it's a significant change to what
> the spec used to imply) but I haven't tested that yet.
Bert
--
Bert Bos ( W 3 C ) http://www.w3.org/
http://www.w3.org/people/bos W3C/ERCIM
bert@w3.org 2004 Rt des Lucioles / BP 93
+33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France
Received on Friday, 25 March 2011 18:09:30 UTC