Re: UA stylesheet should require overflow: visible, not hidden

Boris Zbarsky wrote :
> This doesn't look right to me.  Simple testcase:

   <svg>
     <foreignObject>
       <svg/>
     </foreignObject>
   </svg>

> The inner svg should have visible overflow, since it's a root <svg>.

No, it should be hidden. That's the whole point laid out in clipping and masking:

"The initial value for ‘overflow’ as defined in [CSS21-overflow] is 'visible', and this applies also to the rootmost ‘svg’ element; however, for child elements of an SVG document, SVG's user agent style sheet overrides this initial value and sets the ‘overflow’ property on elements that establish new viewports (e.g., ‘svg’elements), ‘pattern’ elements and ‘marker’ elements to the value 'hidden'."

The key term here isn't "root", it's "rootmost":

"The rootmost ‘svg’ element is the furthest ‘svg’ ancestor element that does not exit an SVG context."

There might be good reasons in principle not to distinguish between rootmost and non-rootmost elements (simplicity, ease of implementation, teachability)  in the UA stylesheet. Either way, the clipping spec and the styling spec should be brought into parity to avoid confusion.

Received on Tuesday, 30 July 2013 17:56:52 UTC