- From: Håkon Wium Lie <howcome@opera.com>
- Date: Sun, 6 Oct 2013 15:38:10 +0200
- To: Morten Stenshorne <mstensho@opera.com>
- Cc: www-style@gtalbot.org, "W3C www-style mailing list" <www-style@w3.org>
Morten Stenshorne wrote: > > > One issue that I wish would be explicit and clarified in the spec is if > > > margin collapsing can occur between a column-spanning element and blocks > > > in column boxes. If it can occur, then the spec should say so, then define > > > under which conditions along with an example. If it does not occur, then > > > the spec should say so. > > > > The answer is: yes, margin collapsing occur as per the normal rules. > > That is, margin collapsing will not to through the content/border box > > of a spanner or a multicol element (both are BFCs), but the margins of > > a spanner will collapse with its surroundings. > > This has been discussed before, and the opposite conclusion was reached. > > http://lists.w3.org/Archives/Public/www-style/2010Oct/0774.html You're right that the two conclusions differ, if not being opposite; it seems to make sense that spanner collapse with others spanners and its containing block. But not with sibling elements. Yes? > I rather we kept it that way (and add it to the spec if it's > unclear). Collapsing spanner margins with regular content is going to > cause rather unpredictable behavior, and writing or reading a spec for > that doesn't sound like fun, either. Right. I'd rather not ;) > > I don't want to add normative text about this as it's a terribly > > complex part of CSS 2.1 and the multicol spec should not try repeat it > > or change it. But having an example makes sense -- I've added an > > example 26 in the current ED: > > > > http://dev.w3.org/csswg/css-multicol/#column-span > > That's example _27_, right? Yes. > This only illustrates margin collapsing > between spanners. That's much less problematic, and I have no strong > opinions on that matter. If you like to think of spanners as regular > blocks inside a multicol container (which has temporarily lost its > multicolumnedness), it's kind of natural that sibling spanners get their > margins collapsed. Yes. > > > If margin collapsing can occur between column-spanning element and blocks > > > in column boxes, then it could be possible to create tests where several > > > blocks' margin-top collapses with a preceding-sibling column-spanning > > > element. > > > > Yes, but remember that margins are trucated after a natural break: > > > > http://dev.w3.org/csswg/css-break/#break-margins > > How about this one: > > <div style="columns:2; column-rule:solid;"> > <div style="column-span:all; margin-bottom:50px;">spanner</div> > text > <div style="break-before:column; margin-top:50px;">x</div> > </div> > > I really don't want those two margins to collapse. :) Agree. They wouldn't if we exclud sibling elements. But the second inner DIV (a) could possibly collase with the margins of the outer DIV if (a) appears after a natural break. -h&kon Håkon Wium Lie CTO °þe®ª howcome@opera.com http://people.opera.com/howcome
Received on Sunday, 6 October 2013 13:38:43 UTC