Re: [csswg-drafts] How do layout and size containment interact with column/page fragmentation?

The Working Group just discussed `How do layout and size containment interact with column/page fragmentation?`, and agreed to the following resolutions:

* `RESOLVED: You're allowed to have forced breaks inside a layout contained thing but you can't propagate the break to the parent.`
* `RESOLVED: Elements with size containment are monolithic for the purpose of fragmentation`

<details><summary>The full IRC log of that discussion</summary>
&lt;dael_> Topic: How do layout and size containment interact with column/page fragmentation?<br>
&lt;dael_> github: https://github.com/w3c/csswg-drafts/issues/2527<br>
&lt;dael_> florian: We noticed containment was underdefined relating to fragmentation. Discussion conclusion is that elements with size containment should be monolithic for fragmentation.<br>
&lt;dael_> TabAtkins: Size yourself like you're empty<br>
&lt;dael_> florian: Then layout yourself as if you have no content. That's size containment.  That used to be an effect of layout containment<br>
&lt;dael_> florian: There are cases where it's useful to do it without size.<br>
&lt;dael_> TabAtkins: Layout ctonainment is whatever happens inside of you it doesn't effect the rest of the page.<br>
&lt;dael_> dbaron: Doesn't this need to apply to that?<br>
&lt;dael_> fantasai: I think if you have layout containment you need to trap all forced breaks.<br>
&lt;dael_> TabAtkins: Which I believe it does already<br>
&lt;dael_> dbaron: If you're moving things around inside the layout containment it can effect the breaks<br>
&lt;dael_> astearns: Elements with size or layout containment should be in the resolution.<br>
&lt;dael_> fantasai: But layout containment can grow and shrink so it should be allowed to fragment like a normal container.<br>
&lt;dael_> astearns: If we allow a layout contained thing to fragment it means it has layout effects outside the boundery it's supposed to contain<br>
&lt;dael_> fantasai: But it's only changing size of container which it does.<br>
&lt;dael_> TabAtkins: Yes, spec says it's except for size is not trapped<br>
&lt;dael_> fantasai: Layout containment should trap forced breaks. Size containment can fragment normally, all that content overflows and it doens't grow in size. When we fragment we put it back together like it's exactly the same height as a monolith.<br>
&lt;dael_> florian: It's poss to impl, but the down side if you have a block tightly sized to contain several lines of text. The break would be 3.5 lines in the block. Regulate would be 3 lines in the first 4 lines in the second and so there would be one line overflowing the last box. It seems worse to slice the line. But what you said is possible.<br>
&lt;dael_> fremy: If next page is different size you size based on first page?<br>
&lt;dael_> florian: It'll work.<br>
&lt;dael_> TabAtkins: There are cases you can guar that you should have these effects and this keeps you honest because if you make a mistake you paint badly and it's obvious instead of your performance sucks.<br>
&lt;dael_> florian: WE have one resolution that layout containment traps forced breaks. That's missing.<br>
&lt;dael_> astearns: If they can fragment why are we trapping them?<br>
&lt;dael_> emilio: Size can, layout can't.<br>
&lt;emilio> s/emilio/fremy<br>
&lt;dael_> florian: No, relayouts inside a layout contained element shouldn't effect parent other then overall size changes. If we don't trap forced breaks arbitary changes will have effects outside. Like if you change widows inside you propagate all the way up.<br>
&lt;dael_> fantasai: astearns has a point because a forced break is realtive the same. THe forced breaks can't propagate out. If you say page-break-before:always at the top it takes effect before the section and that shouldn't happen if it has layout containment.<br>
&lt;dael_> astearns: So you're just not allowing forced breaks to propagate to parent. I'm good with that.<br>
&lt;dael_> fantasai: WE should be quite clear on that. It's subtle.<br>
&lt;dael_> dbaron: Spec may already say this.<br>
&lt;dael_> several: I don't think so.<br>
&lt;dael_> florian: Bullet 2 is fragmentation is if you have regions or overflow fragments.<br>
&lt;dael_> florian: I think we should add waht you said.<br>
&lt;dael_> fantasai: You're allowed to have forced breaks inside a layout contained thing but you can't break to the parent.<br>
&lt;fantasai> s/can't break/can't propagate the break/<br>
&lt;dael_> astearns: Prop: You're allowed to have forced breaks inside a layout contained thing but you can't propagate the break to the parent.<br>
&lt;dael_> astearns: Objections?<br>
&lt;dael_> RESOLVED: You're allowed to have forced breaks inside a layout contained thing but you can't propagate the break to the parent.<br>
&lt;dael_> florian: For size containment. Making them monolithic is a thing we can do. non-monolithic can works but triggers overflow.  Do we prefer slicing sometimes or arbitary overflow sometimes? I prefer slice.<br>
&lt;dael_> astearns: If we preserve the size by disassociating the fragments pas thte first one with the layout thy should cotnain I prefer the first.<br>
&lt;dael_> florian: right. From end user reason PoV slicing seems better.<br>
&lt;dael_> astearns: fantasai to you object?<br>
&lt;dael_> fantasai: [missed]<br>
&lt;dael_> RESOLVED: Elements with size containment are monolithic for the purpose of fragmentation<br>
&lt;dael_> astearns: Anything for layout contained items?<br>
&lt;dael_> TabAtkins: Aside from the trapping fragmentation can change size and that's allowed to happen.<br>
&lt;dael_> TabAtkins: None of the containments prevent outside information to come in.<br>
&lt;dael_> astearns: It's communications both ways. This outside says you need to fragment and the thing inside says here's how I'll do it. It's 2 way.<br>
&lt;dael_> TabAtkins: But the communication out is only about size.<br>
&lt;dael_> astearns: Anything else on this issue?<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2527#issuecomment-380827863 using your GitHub account

Received on Thursday, 12 April 2018 14:36:19 UTC