- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Mon, 31 May 2010 00:26:14 -0400
- To: www-style list <www-style@w3.org>
Section 17.5.3 has this to say:
The baseline of a cell is the baseline of the first in-flow line
box in the cell, or the first in-flow table-row in the cell,
whichever comes first. If there is no such line box or table-row,
the baseline is the bottom of content edge of the cell box.
However nothing defines when line boxes are or are not present. If a
block contains only non-preserved whitespace, does it have any line
boxes? The end of section 9.4.2 suggests yes[1], but Gecko and Webkit
seem to think the answer is "no"[2]. Opera seems to think that even an
empty block which has no child boxes at all has a line box.
It would be good to get this clarified, since this affects vertical
alignment of both table cells and inline-block elements and currently we
seem to not have very good interop here.
-Boris
[1] "Line boxes that contain no text, no preserved white space, no
inline elements with non-zero margins, padding, or borders, and
no other in-flow content (such as images, inline blocks or
inline tables), and do not end with a line feed must be treated
as zero-height line boxes." though this really does beg the
question of whether said line boxes exist at all; they just
have to be treated as 0-height if they do exist?
[2] Testcase:
<div style="display:table">
<div style="display:table-row">
<div style="display:table-cell;background:red">
<div style="width:150px;height:150px;background:blue"> </div>
</div>
<div style="display:table-cell;background:green">a<br/>b</div>
</div>
</div>
Received on Monday, 31 May 2010 04:26:49 UTC