- From: SVG Working Group repository <cam+svgwgrepo@mcc.id.au>
- Date: Thu, 10 Apr 2014 05:15:18 -0700
- To: public-svg-wg@w3.org
details: https://svgwg.org/hg/svg2/rev/cf6f0f844e40 branches: changeset: 652:cf6f0f844e40 user: Erik Dahlstr?m <ed@opera.com> date: Thu Apr 10 14:08:21 2014 +0200 description: ACTION-3606: various tweaks for 'overflow' RESOLUTION: outer-most svg elements of inline fragments will be overflow: hidden by default. RESOLUTION: svg:svg elements should allow overflow: scroll to create scrollbars. RESOLUTION: overflow property on root svg elements still controls if there should be scrollbars but there should be a clipping rectangle that is the size of the svg element's viewport diffstat: master/changes.html | 1 + master/masking.html | 33 +++++++++++++++++++++------------ 2 files changed, 22 insertions(+), 12 deletions(-) diffs (110 lines): diff --git a/master/changes.html b/master/changes.html --- a/master/changes.html +++ b/master/changes.html @@ -252,16 +252,17 @@ have been made.</p> <ul> <li>SVG now references CSS Masking [<a href="refs.html#ref-CSS-MASKING">CSS-MASKING</a>] specification. <ul> <li>Removed definition of clipping/masking properties and elements.</li> <li>Keep short introduction to clipping/masking and add reference to CSS Masking</li> </ul> </li> <li>Added reference to Compositing and Blending spec. Simple alpha compositing it mandatory.</li> + <li>The <a>'overflow'</a> property should be respected on the outermost svg elements inline in html.</li> </ul> <h3 id="filters">Filter Effects chapter</h3> <ul> <li>Removed the body of this chapter and replaced it with a link to the Filter Effect specification.</li> </ul> diff --git a/master/masking.html b/master/masking.html --- a/master/masking.html +++ b/master/masking.html @@ -126,64 +126,73 @@ with a link to <a href="http://www.w3.or same meaning <a href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visufx.html#propdef-overflow">as defined in CSS 2.1</a> ([<a href="refs.html#ref-CSS21">CSS21</a>], section 11.1.1); however, the following additional points apply:</p> <p class="issue">We need to define how 'overflow-x' and 'overflow-y' are going to work in the furture. Sadly, these properties belong to CSS3-box.</p> <ul> - <li>The <a>'overflow'</a> property applies to - <a href="coords.html#ElementsThatEstablishViewports">elements that establish new viewports</a> - (e.g., <a>'svg'</a> elements), <a>'pattern'</a> elements and <a>'marker element'</a> - elements. For all other elements, the property has no effect (i.e., a clipping - rectangle is not created).</li> - <li>For those elements to which the <a>'overflow'</a> property can apply, if the <a>'overflow'</a> property has the value <span class='prop-value'>hidden</span> or <span class='prop-value'>scroll</span>, the effect is that a new clipping path in the shape of a rectangle is created. The result is equivalent to defining a <a>'clipPath'</a> element whose content is a <a>'rect'</a> element which defines the equivalent rectangle, and then specifying the <uri> of this <a>'clipPath'</a> element on the - <a>'clip-path'</a> property for the given element.</li> + <a>'clip-path'</a> property for the given element. + </li> + + <li> + When <span class='prop-value'>scroll</span> is specified on an + <a>'svg'</a> element and if the user agent uses a scrolling mechanism that + is visible on the screen (such as a scroll bar or a panner), that mechanism should + be displayed for the viewport whether or not any of its content is clipped. + </li> <li>If the <a>'overflow'</a> property has a value other than <span class='prop-value'>hidden</span> or <span class='prop-value'>scroll</span>, - the property has no effect (i.e., a clipping rectangle is not created).</li> + the property has no effect (i.e., a clipping rectangle is not created). + </li> <li>Within SVG content, the value <span class='prop-value'>auto</span> is - equivalent to the value <span class='prop-value'>visible</span>.</li> + equivalent to the value <span class='prop-value'>visible</span>. + <p class="issue"><a href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visufx.html#propdef-overflow">CSS implies</a> that 'auto' should be clipped rather + than visible, do we want to follow that or not?</p> + </li> <li>When an <a>outermost svg element</a> is embedded inline within a parent XML grammar which uses <a href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visuren.html">CSS layout</a> ([<a href="refs.html#ref-CSS21">CSS21</a>], chapter 9) or <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">XSL formatting</a> [<a href="refs.html#ref-XSL">XSL</a>], if the <a>'overflow'</a> property has the value <span class='prop-value'>hidden</span> or <span class='prop-value'>scroll</span>, then the user agent will establish an initial clipping path equal to the bounds of the initial <a href="coords.html#SVGViewport">viewport</a>; otherwise, the initial clipping path is set according to the <a href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visufx.html#overflow">clipping rules as defined in CSS 2.1</a> ([<a href="refs.html#ref-CSS21">CSS21</a>], section 11.1.1).</li> - <li>When an <a>outermost svg element</a> is stand-alone or embedded + <li>When an <a>outermost svg element</a> is standalone or embedded inline within a parent XML grammar which does not use CSS layout or XSL formatting, the <a>'overflow'</a> property on the <a>outermost svg element</a> is ignored for the purposes of visual rendering and the initial clipping path is set to - the bounds of the initial <a href="coords.html#SVGViewport">viewport</a>.</li> + the bounds of the initial <a href="coords.html#SVGViewport">viewport</a>. + Note that the value <span class='prop-value'>hidden</span> still means that + no scrolling user interface should be provided. + </li> <li>The initial value for <a>'overflow'</a> as defined in [<a href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visufx.html#overflow">CSS21-overflow</a>] is 'visible', and this applies also to the <a>rootmost 'svg' element</a>; however, for child elements of an SVG document, SVG's <a href="styling.html#UAStyleSheet">user agent style sheet</a> overrides this initial value and sets the <a>'overflow'</a> property on <a href="coords.html#ElementsThatEstablishViewports">elements that establish new viewports</a> (e.g., <a>'svg'</a> elements), <a>'pattern'</a> elements and - <a>'marker element'</a> elements to the value 'hidden'.</li> + <a>'marker element'</a> elements to the value <span class="prop-value">hidden</span>.</li> </ul> <p>As a result of the above, the default behavior of SVG user agents is to establish a clipping path to the bounds of the initial <a href="coords.html#SVGViewport">viewport</a> and to establish a new clipping path for each <a href="coords.html#ElementsThatEstablishViewports">element which establishes a new viewport</a> and each <a>'pattern'</a> and <a>'marker element'</a> element.</p>
Received on Thursday, 10 April 2014 12:15:44 UTC