- 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