Re: [css2.1] Issue 158 and Issue 178 Resolution

On Thursday 2010-08-05 18:28 -0700, Tab Atkins Jr. wrote:
> On Thu, Aug 5, 2010 at 2:22 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> > Change 3
> > --------
> >
> > In section 9.5.2, at the end of the paragraph starting "Computing the
> > clearance of an element...", delete from "previous adjacent margins"
> > to the end of the sentence.  Replace it with "adjoining margins,
> > according to the margin-collapsing rules in 8.3.1".
> 
> I thought that this change would make the text sync up with
> implementations.  It does, but only partially.

This proposed change also means that whether an element has
clearance could depend not only on whether earlier elements have
clearance, but also on whether *later* elements have clearance,
since which later margins are adjoining depends on which later
elements have clearance.

It seems likely that this could introduce cases that are ambiguous
or impossible to satisfy, though I haven't yet demonstrated this.

On the other hand, if you consider later margins but presume that
later elements won't have clearance, you could end up in cases where
'clear' fails to cause an element to clear because it presumes that
a margin will participate in the collapse, but in the end it
actually doesn't.

And if you consider later margins and presume that all later
elements will have clearance, then you end up back where we started,
except for the empty element case (which is probably less important
than the case of an element with clear whose first child is a block
with a margin).

> Quite a lot in this section is totally arbitrary in the first place,
> so neither option makes more sense than the other.  Thus, I suggest
> going with my change, as it's the option that IE and Webkit have
> taken.

Which parts do you think are totally arbitrary?


That said, I'm not sure that we're interpreting the spec correctly.
I think we're both presuming that, where bullet point (1) below this
text says "the border edge" it means "the hypothetical position of
the border edge".  But I'm actually starting to think that
assumption is wrong.


I've now spent almost an hour and a half trying to understand this
change, and largely failed.

-David

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/

Received on Friday, 6 August 2010 03:17:45 UTC