Re: [css-overflow-3] why so restrictive on styling fragment descendants?

> On Oct 31, 2014, at 1:00 PM, Brad Kemper <brad.kemper@gmail.com> wrote:
> 
>> 
>> On Oct 31, 2014, at 12:38 PM, L. David Baron <dbaron@dbaron.org <mailto:dbaron@dbaron.org>> wrote:
>> 
>> On Friday 2014-10-31 12:31 -0700, Brad Kemper wrote:
>>> In section 6.1.3 of Overflow Module 3 [1], it allows selection and styling of descendants of nth-fragments. However, it says:
>>> 
>>> ...the only CSS properties applied by rules with such selectors are those that apply to the ‘::first-letter’ pseudo-element
>>> 
>>> Why this restriction? Why not allow the descendants of the fragment box be styled with the full range of properties? I would think there’s be a near infinite number of use cases to do so. For instance, using different floating or positioning based on whether an element is in an odd fragment box or an even fragment box (imagine arranging the fragment boxes into two columns).
>>> 
>>> Is this because of how it can complicate ‘max-lines’? If so, then perhaps the more restrictive styling should only apply when the element is inside a ‘max-lines’-limited fragment box.
>> 
>> I think the main reason for the restriction is that descendants of
>> fragments might be split between multiple fragments, so we need the
>> styles to make sense even if they apply only to part of an element.
>> There might also be others that I've forgotten, although I don't
>> think max-lines is involved.
>> 
> 
> I see. Well, maybe it will need to be deferred until level 4, but I’d rather we just defined what happens to an element when it’s padding/position/floating/etc. changes between fragment boxes (including pages) (defined to not have accidental loss of content).

Actually, upon reviewing further, I’m not sure the ::first-letter subset of properties is the best set to achieve that goal. It seems like a kind of odd collection to me. How does it make more sense to have, say, “margin-top:-100vh” in the second fragment, when it is “margin-top:0” in the first fragment, but to disallow changes to position or transform? Or suppose you have a row-spanning table cell containing one row of text, with vertical-align:top in the first fragment, but vertical-align:bottom in the second, and the break is between the rows that it spans: is it OK to end up with the same text repeated in both fragments? What happens when something has ‘float:right’ in the first fragment, but no floating in the second fragment? In the second fragment, do you draw the rest of the part that was floated, and then draw the rest of the text that had been wrapping around it?

Also,  don’t really understand why text-shadow and box shadow are not allowed on ::first-letter.

Received on Friday, 31 October 2014 21:08:46 UTC