Re: [css2.1] Issue 199 proposal

On Tue, Sep 7, 2010 at 5:06 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> This email is meant to address issue 199 on CSS2.1, which I
> volunteered to propose text for.
> http://wiki.csswg.org/spec/css2.1#issue-199


Urgh, I meant to do this last week.  New proposal, based on discussion
in the telcon:

| 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.

Change from current spec is just the last bit.  The current spec says
to always treat such lineboxes as zero-height; my edit narrows it to
only treat them as such for positioning, and for all other purposes to
just pretend they don't exist.

Now, I'm not sure this actually resolves the issues.  Given Boris's
testcase, slightly altered:

<div style="display:table">
  <div style="display:table-row">
    <div style="display:table-cell;background:red">
      <div style="width:150px;height:150px;background:blue">
        <span style="position:absolute;"></span>
      </div>
    </div>
    <div style="display:table-cell;background:green">a<br/>b</div>
  </div>
</div>

...what does it actually mean to say that the linebox exists for the
purpose of positioning the span?  I can't really figure it out.

Perhaps a proper edit would be to say that such elements are
positioned in the top start corner of the parent, and the lineboxes
just don't exist?

Am I right in thinking that these lineboxes can only be created as the
sole linebox of an element?  It seems that if there's another linebox
with actual content in it, then the type of contents that would appear
in this "phantom linebox" would instead just be collapsed together at
the end of the real linebox, right?

~TJ

Received on Tuesday, 14 September 2010 20:47:15 UTC