- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Tue, 22 Mar 2011 21:31:31 -0700
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: "L. David Baron" <dbaron@dbaron.org>, www-style list <www-style@w3.org>
On 10/25/2010 05:48 PM, Tab Atkins Jr. wrote:
>
> | If an element contains 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 block, or inline tables),
> | then no line boxes are generated inside the
> | element. The auto position of any child elements
> | is the top of the box in the vertical direction,
> | and the same position horizontally that a zero
> | width, zero height inline replaced element would
> | have if placed in the element. (This, for example,
> | respects the text-align property.)
So there are two problems with this formulation:
a) It doesn't handle the case where such line boxes are siblings
of block boxes, e.g.
<div><p/><span/></div> or <div><p/><span/><p/></div>
b) It doesn't specify the contents' transparency wrt margin
collapsing.
The original text was this:
# 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. For the purposes of margin collapsing,
# this line box must be ignored.
Your earlier proposal was this:
| 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 for the purpose of positioning the
| elements inside of them, and must be treated as not existing
| for any other purpose.
We might be better of working from your original proposal.
How about this:
| Line boxes are created as needed to hold inline-level content within
| an inline formatting context. 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 preserved
| newline must be treated as zero-height line boxes for the purpose of
| determining the static positions of any elements inside of them,
| and must be treated as not existing for any other purpose.
~fantasai
Received on Wednesday, 23 March 2011 05:59:02 UTC