You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -122,7 +122,7 @@ When used in this specification, terms have the meanings assigned in this sectio
122
122
: <dfn>transformable element</dfn>
123
123
:: A transformable element is an element in one of these categories:
124
124
* an element whose layout is governed by the CSS box model which is either a <a href="https://www.w3.org/TR/CSS2/visuren.html#block-level">block-level</a> or <a href="https://www.w3.org/TR/CSS2/visuren.html#x13">atomic inline-level element</a>, or whose 'display' property computes to ''table-row'', ''table-row-group'', ''table-header-group'', ''table-footer-group'', ''table-cell'', or ''table-caption''[[!CSS2]]
125
-
* an element in the SVG namespace and not governed by the CSS box model which has the attributes 'transform', <{pattern/patternTransform}> or <{linearGradient/gradientTransform}>[[!SVG11]].
125
+
* an element in the SVG namespace and not governed by the CSS box model which has the attributes <a element-attr for>transform</a>, <{pattern/patternTransform}> or <{linearGradient/gradientTransform}>[[!SVG11]].
126
126
127
127
: <dfn>transformed element</dfn>
128
128
:: An element with a computed value other than ''transform/none'' for the 'transform' property.
@@ -365,21 +365,21 @@ For SVG elements without an associated CSS layout box, the [=used value=] for <a
365
365
For elements with an associated CSS layout box, the [=used value=] for <a value for=transform-box>fill-box</a> and <a value for=transform-box>view-box</a> is <a value for=transform-box>border-box</a>.
366
366
367
367
368
-
The SVG 'transform' Attribute {#svg-transform}
368
+
The SVG <a element-attr for>transform</a> Attribute {#svg-transform}
369
369
=============================
370
370
371
-
The SVG 1.1 specification did not specify the attributes "transform", <{linearGradient/gradientTransform}> or <{pattern/patternTransform}> as <a>presentation attributes</a>[[!SVG11]]. In order to improve the integration of SVG and HTML, this specification makes these SVG attributes presentation attributes and makes the 'transform' property one that applies to [=transformable elements=] in the SVG namespace.
371
+
The SVG 1.1 specification did not specify the attributes <a element-attr for>transform</a>, <{linearGradient/gradientTransform}> or <{pattern/patternTransform}> as <a>presentation attributes</a>[[!SVG11]]. In order to improve the integration of SVG and HTML, this specification makes these SVG attributes presentation attributes and makes the 'transform' property one that applies to [=transformable elements=] in the SVG namespace.
372
372
373
373
This specification will also introduce the new presentation attribute 'transform-origin'. Values on this presentation attribute get parsed following the syntax rules on <a href="#svg-data-types">SVG Data Types</a>[[!SVG11]].
Since the previously named SVG attributes become presentation attributes, their participation in the CSS cascade is determined by the specificity of <a>presentation attributes</a> in the SVG specification.
379
379
380
380
<div class="example">
381
381
382
-
This example shows the combination of the 'transform' style property and the 'transform' presentation attribute.
382
+
This example shows the combination of the 'transform' style property and the <a element-attr for>transform</a> presentation attribute.
383
383
384
384
<pre>
385
385
<svg xmlns="http://www.w3.org/2000/svg">
@@ -399,18 +399,18 @@ This example shows the combination of the 'transform' style property and the 'tr
Because of the participation to the CSS cascade, the 'transform' style property overrides the 'transform' presentation attribute. Therefore the container gets translated by ''100px'' in both the horizontal and the vertical directions, instead of ''200px''.
402
+
Because of the participation to the CSS cascade, the 'transform' style property overrides the <a element-attr for>transform</a> presentation attribute. Therefore the container gets translated by ''100px'' in both the horizontal and the vertical directions, instead of ''200px''.
403
403
404
404
</div>
405
405
406
-
Syntax of the SVG 'transform' attribute {#svg-syntax}
406
+
Syntax of the SVG <a element-attr for>transform</a> attribute {#svg-syntax}
407
407
---------------------------------------
408
408
409
-
To provide backwards compatibility, the syntax of the 'transform' presentation attribute differs from the syntax of the 'transform' style property as shown in the example above. However, the syntax used for the 'transform' style property can be used for a 'transform' presentation attribute value. Authors are advised to follow the rules of CSS Values and Units Module [[!CSS-VALUES-3]]. Therefore an author should write ''transform="translate(200px, 200px)"'' instead of ''transform="translate (200 200)"'' because the second example with the spaces before the ''('', the missing comma between the arguments and the values without the explicit unit notation would be valid for the attribute only.
409
+
To provide backwards compatibility, the syntax of the <a element-attr for>transform</a> presentation attribute differs from the syntax of the 'transform' style property as shown in the example above. However, the syntax used for the 'transform' style property can be used for a '<a element-attr for>transform</a> presentation attribute value. Authors are advised to follow the rules of CSS Values and Units Module [[!CSS-VALUES-3]]. Therefore an author should write ''transform="translate(200px, 200px)"'' instead of ''transform="translate (200 200)"'' because the second example with the spaces before the ''('', the missing comma between the arguments and the values without the explicit unit notation would be valid for the attribute only.
410
410
411
411
### Transform List ### {#svg-transform-list}
412
412
413
-
The value for the 'transform' attribute consists of a transform list with zero or more transform functions using <a href="#svg-functional-notation">functional notation</a>. If the transform list consists of more than one transform function, these functions are separated by optional whitespace, an optional comma ('','') and optional whitespace. The transform list can have optional whitespace characters before and after the list.
413
+
The value for the <a element-attr for>transform</a> attribute consists of a transform list with zero or more transform functions using <a href="#svg-functional-notation">functional notation</a>. If the transform list consists of more than one transform function, these functions are separated by optional whitespace, an optional comma ('','') and optional whitespace. The transform list can have optional whitespace characters before and after the list.
SVG specifies the attributes <{linearGradient/gradientTransform}> and <{pattern/patternTransform}>. This specification makes both attributes presentation attributes. Both attributes use the same <a href="#svg-syntax">syntax</a> as the SVG 'transform' attribute. This specification does not introduce corresponding CSS style properties. Both, the <{linearGradient/gradientTransform}> and the <{pattern/patternTransform}> attribute, are presentation attributes for the 'transform' property.
441
+
SVG specifies the attributes <{linearGradient/gradientTransform}> and <{pattern/patternTransform}>. This specification makes both attributes presentation attributes. Both attributes use the same <a href="#svg-syntax">syntax</a> as the SVG <a element-attr for>transform</a> attribute. This specification does not introduce corresponding CSS style properties. Both the <{linearGradient/gradientTransform}> and the <{pattern/patternTransform}> attribute are presentation attributes for the 'transform' property.
For backwards compatibility with existing SVG content, this specification supports all transform functions defined by <a href="https://www.w3.org/TR/SVG/coords.html#TransformAttribute">The ‘transform’ attribute</a> in [[SVG11]]. Therefore the two-dimensional transform function ''rotate(<angle>)'' is extended as follows:
447
+
For backwards compatibility with existing SVG content, this specification supports all transform functions defined by <a href="https://www.w3.org/TR/SVG/coords.html#TransformAttribute">the ‘transform’ attribute</a> in [[SVG11]]. Therefore the two-dimensional transform function ''rotate(<angle>)'' is extended as follows:
448
448
449
449
<dl>
450
450
<dt id="rotate-three-function">
@@ -460,11 +460,11 @@ User agents are just required to support the two optional arguments for translat
460
460
User coordinate space {#svg-user-coordinate-space}
461
461
---------------------
462
462
463
-
For the <{pattern}>, <{linearGradient}>, <{radialGradient}> and <{clipPath}> elements the 'transform', <{pattern/patternTransform}>, <{linearGradient/gradientTransform}> presentation attributes represents values in the current user coordinate system in place at the time when these elements are referenced (i.e., the user coordinate system for the element referencing the <{pattern}> element via a 'fill' or 'stroke' property). Percentage values are relative to the [=reference box=] of the referencing element.
463
+
For the <{pattern}>, <{linearGradient}>, <{radialGradient}> and <{clipPath}> elements the <a element-attr for>transform</a>, <{pattern/patternTransform}>, <{linearGradient/gradientTransform}> presentation attributes represents values in the current user coordinate system in place at the time when these elements are referenced (i.e., the user coordinate system for the element referencing the <{pattern}> element via a 'fill' or 'stroke' property). Percentage values are relative to the [=reference box=] of the referencing element.
464
464
465
465
In particular the <{pattern/patternUnits}>, <{linearGradient/gradientUnits}> and <{mask/maskUnits}> attributes don't affect the user coordinate system used for transformations [[SVG11]].
466
466
467
-
For all other [=transformable elements=] the 'transform' presentation attribute represents values in the current user coordinate system of the parent. All percentage values of the 'transform' presentation attribute are relative to the element's [=reference box=].
467
+
For all other [=transformable elements=] the <a element-attr for>transform</a> presentation attribute represents values in the current user coordinate system of the parent. All percentage values of the <a element-attr for>transform</a> presentation attribute are relative to the element's [=reference box=].
468
468
469
469
<div class="example">
470
470
@@ -493,12 +493,12 @@ An SVG <{pattern}> element doesn't have a bounding box. The [=reference box=] of
493
493
494
494
</div>
495
495
496
-
SVG DOM interface for the 'transform' attribute {#transform-attribute-dom}
496
+
SVG DOM interface for the <a element-attr for>transform</a> attribute {#transform-attribute-dom}
497
497
-----------------------------------------------
498
498
499
-
The SVG specification defines the "<a href="https://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#InterfaceSVGAnimatedTransformList">SVGAnimatedTransformList</a>" interface in the SVG DOM to provide access to the animated and the base value of the SVG 'transform', <{linearGradient/gradientTransform}> and <{pattern/patternTransform}> attributes. To ensure backwards compatibility, this API must still be supported by user agents.
499
+
The SVG specification defines the "<a href="https://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#InterfaceSVGAnimatedTransformList">SVGAnimatedTransformList</a>" interface in the SVG DOM to provide access to the animated and the base value of the SVG <a element-attr for>transform</a>, <{linearGradient/gradientTransform}> and <{pattern/patternTransform}> attributes. To ensure backwards compatibility, this API must still be supported by user agents.
500
500
501
-
The 'transform' property contributes to the CSS cascade. According to SVG 1.1 user agents conceptually insert a <a href="https://www.w3.org/TR/SVG/styling.html#UsingPresentationAttributes">new author style sheet</a> for presentation attributes, which is the first in the author style sheet collection. {{baseVal}} gives the author the possibility to access and modify the values of the SVG 'transform' attribute. To provide the necessary backwards compatibility to the SVG DOM, {{baseVal}} must reflect the values of this author style sheet. All modifications to SVG DOM objects of {{baseVal}} must affect this author style sheet immediately.
501
+
The 'transform' property contributes to the CSS cascade. According to SVG 1.1 user agents conceptually insert a <a href="https://www.w3.org/TR/SVG/styling.html#UsingPresentationAttributes">new author style sheet</a> for presentation attributes, which is the first in the author style sheet collection. {{baseVal}} gives the author the possibility to access and modify the values of the SVG <a element-attr for>transform</a> attribute. To provide the necessary backwards compatibility to the SVG DOM, {{baseVal}} must reflect the values of this author style sheet. All modifications to SVG DOM objects of {{baseVal}} must affect this author style sheet immediately.
502
502
503
503
{{animVal}} represents the computed style of the 'transform' property. Therefore it includes all applied <a href="https://www.w3.org/TR/css3-transitions/">CSS3 Transitions</a>, <a href="https://www.w3.org/TR/css3-animations/">CSS3 Animations</a> or <a href="#svg-animation">SVG Animations</a> if any of those are underway. The computed style and SVG DOM objects of {{animVal}} can not be modified.
504
504
@@ -522,7 +522,7 @@ The value "paced" is undefined for the attribute <{animate/calcMode}> on <{anima
522
522
523
523
Note: The following paragraphs extend <a href="https://www.w3.org/TR/SVG/animate.html#complexDistances">Elements, attributes and properties that can be animated</a>[[SVG11]].
524
524
525
-
The introduce presentation attributes 'transform' and 'transform-origin' are animatable.
525
+
The introduced presentation attributes <a element-attr for>transform</a> and 'transform-origin' are animatable.
526
526
527
527
With this specification the SVG basic data type <<transform-list>> is equivalent to a list of <<transform-function>>s. <<transform-list>> is animatable and additive. The data type can be animated using the SVG <{animate}> element and the SVG <{set}> element. SVG animations must run the same animation steps as described in section <a href="#interpolation-of-transforms">Transitions and Animations between Transform Values</a>.
0 commit comments