

khushal: supporting css overflow and overflow clip Topic: How do object-overflow and object-view-box interact with overflow and overflow-clip-margin? RESOLVED: Add this path forward to the spec with a note linking back to this issue.The CSS Working Group just discussed How do object-overflow and object-view-box interact with overflow and overflow-clip-margin?, and agreed to the following: We shouldn't need to define anything special for this the behavior will just fall out naturally.

So it would have an effect on replaced elements with "contain:paint" in either of the above two choices, and replaced elements with "overflow:clip" if we go with (1). 'overflow-clip-margin' is currently defined to solely affect "overflow: clip" and other things using the "overflow-clip edge" (like "contain: paint"). I lean slightly towards (2) for simplicity, but would be fine with either.

The content of a replaced element is, as far as CSS is concerned, the element's problem, and so whatever it does is similar to other painting effects caused by the element itself, like shadows.(This implies that replaced elements could sprout scrollbars due to object-overflow + overflow, unless we explicitly disallow that and treat the scrollable values as "clip" on replaced elements.) In other words, 'object-overflow' just tells the replaced element's contents whether to clip themselves to the content area or not if they don't, then they potentially become ordinary overflowing content and 'overflow' applies to those overhanging bits. The object-* properties affect the "content" of the replaced element, which is analogous to children of the element, so 'overflow' should apply "after" 'object-overflow'.I agree this interaction needs clarification, tho. Trying to cram this behavior into 'overflow' isn't a great idea, imo. The big one is that 'overflow' clips at the padding edge, while replaced contents are clipped at the content edge the other is that, as noted, none of the scrollable values are viable. We can't reuse 'overflow' for this, as it is based on different assumptions that aren't quite compatible with how replaced element contents behave. Currently overflow: clip on a replaced element ignores overflow-clip-margin but now that won't be the what do you think? Any scenario where object-overflow is required in addition to overflow?.The only values supported for replaced elements would be overflow: visible and overflow: clip.Replaced elements would default to overflow: clip (as opposed to overflow: visible) for other elements.If we were to reuse overflow for the desired effect then the result would be : I can see object-overflow being redundant now, it has the same effect as overflow. overflow* properties can then be used to customize the extent of the overflow or to change the reference box used for clipping (since object-overflow defaults to content-box). But object-overflow: visible implies that the content can have an infinite overflow in any direction. So object-overflow: clip (the behaviour today) implies there is no overflow that needs to be clipped by overflow* properties. Object-overflow applies before other overflow properties. But it looks like replaced elements can not have descendants so this point is moot. overflow:clip applies to the element's descendants while object-overflow would be limited to the replaced content so any descendants would not be clipped. The fundamental way I expected these properties to differ is the content that's clipped. Let’s start with drawing a element in the shape of a triangle.That's a very good catch, thanks for bringing this up. The SVG paths that morph one into the other must have the same commands and same number of points or else the morphing will not work. The element can be overridden with CSS to create shape morphing. Painting properties Presentation attribute

Gradient properties Presentation attribute Visibility properties Presentation attribute Interactivity properties Presentation attribute Masking properties Presentation attribute
