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
Copy file name to clipboardExpand all lines: css-transforms-1/Overview.bs
+67-63Lines changed: 67 additions & 63 deletions
Original file line number
Diff line number
Diff line change
@@ -406,9 +406,9 @@ the <a>resolved value</a> is one <<matrix()>> function
406
406
computed by the following algorithm:
407
407
408
408
<ol class="algorithm">
409
-
1. Let <var>transform</var> be a 4x4 matrix initialized to the identity matrix. The elements <var ignore>m11</var>, <var ignore>m22</var>, <var ignore>m33</var> and <var ignore>m44</var> of <var>transform</var> must be set to ''1''; all other elements of <var>transform</var> must be set to ''0''.
410
-
2. Post-multiply all <<transform-function>>s in <<transform-list>> to <var>transform</var>.
411
-
3. Serialize <var>transform</var> to a <<matrix()>> function.
409
+
1. Let <var>transform</var> be a 4x4 matrix initialized to the identity matrix. The elements <var ignore>m11</var>, <var ignore>m22</var>, <var ignore>m33</var> and <var ignore>m44</var> of <var>transform</var> must be set to ''1''; all other elements of <var>transform</var> must be set to ''0''.
410
+
2. Post-multiply all <<transform-function>>s in <<transform-list>> to <var>transform</var>.
411
+
3. Serialize <var>transform</var> to a <<matrix()>> function.
412
412
</ol>
413
413
414
414
For other computed values, the <a>resolved value</a> is the <a>computed value</a>.
@@ -434,20 +434,20 @@ If only one value is specified, the second value is assumed to be <a value for=t
434
434
If two or more values are defined and either no value is a keyword, or the only used keyword is <a value for=transform-origin>center</a>, then the first value represents the horizontal position (or offset) and the second represents the vertical position (or offset). A third value always represents the Z position (or offset) and must be of type <<length>>.
435
435
436
436
<dl dfn-for="transform-origin" dfn-type="value">
437
-
: <<length-percentage>>
438
-
:: A percentage for the horizontal offset is relative to the width of the [=reference box=]. A percentage for the vertical offset is relative to the height of the [=reference box=]. The value for the horizontal and vertical offset represent an offset from the top left corner of the [=reference box=].
439
-
: <<length>>
440
-
:: A length value gives a fixed length as the offset. The value for the horizontal and vertical offset represent an offset from the top left corner of the [=reference box=].
441
-
: <dfn>top</dfn>
442
-
:: Computes to ''0%'' for the vertical position.
443
-
: <dfn>right</dfn>
444
-
:: Computes to ''100%'' for the horizontal position.
445
-
: <dfn>bottom</dfn>
446
-
:: Computes to ''100%'' for the vertical position.
447
-
: <dfn>left</dfn>
448
-
:: Computes to ''0%'' for the horizontal position.
449
-
: <dfn>center</dfn>
450
-
:: Computes to ''50%'' (''left 50%'') for the horizontal position if the horizontal position is not otherwise specified, or ''50%'' (''top 50%'') for the vertical position if it is.
437
+
: <<length-percentage>>
438
+
:: A percentage for the horizontal offset is relative to the width of the [=reference box=]. A percentage for the vertical offset is relative to the height of the [=reference box=]. The value for the horizontal and vertical offset represent an offset from the top left corner of the [=reference box=].
439
+
: <<length>>
440
+
:: A length value gives a fixed length as the offset. The value for the horizontal and vertical offset represent an offset from the top left corner of the [=reference box=].
441
+
: <dfn>top</dfn>
442
+
:: Computes to ''0%'' for the vertical position.
443
+
: <dfn>right</dfn>
444
+
:: Computes to ''100%'' for the horizontal position.
445
+
: <dfn>bottom</dfn>
446
+
:: Computes to ''100%'' for the vertical position.
447
+
: <dfn>left</dfn>
448
+
:: Computes to ''0%'' for the horizontal position.
449
+
: <dfn>center</dfn>
450
+
:: Computes to ''50%'' (''left 50%'') for the horizontal position if the horizontal position is not otherwise specified, or ''50%'' (''top 50%'') for the vertical position if it is.
451
451
</dl>
452
452
453
453
For SVG elements without associated CSS layout box the initial [=used value=] is ''0 0'' as if the user agent style sheet contained:
@@ -477,24 +477,24 @@ Animation type: discrete
477
477
All transformations defined by the 'transform' and 'transform-origin' property are relative to the position and dimensions of the <dfn>reference box</dfn> of the element. The [=reference box=] is specified by one of the following:
478
478
479
479
<dl dfn-for=transform-box>
480
-
: <dfn dfn-type=value>content-box</dfn>
481
-
:: Uses the content box as reference box. The reference box of a table is the border box of its <a href="https://www.w3.org/TR/CSS21/tables.html#model">table wrapper box</a>, not its table box.
480
+
: <dfn dfn-type=value>content-box</dfn>
481
+
:: Uses the content box as reference box. The reference box of a table is the border box of its <a href="https://www.w3.org/TR/CSS21/tables.html#model">table wrapper box</a>, not its table box.
482
482
483
-
: <dfn dfn-type=value>border-box</dfn>
484
-
:: Uses the border box as reference box. The reference box of a table is the border box of its <a href="https://www.w3.org/TR/CSS21/tables.html#model">table wrapper box</a>, not its table box.
483
+
: <dfn dfn-type=value>border-box</dfn>
484
+
:: Uses the border box as reference box. The reference box of a table is the border box of its <a href="https://www.w3.org/TR/CSS21/tables.html#model">table wrapper box</a>, not its table box.
485
485
486
-
: <dfn dfn-type=value>fill-box</dfn>
487
-
:: Uses the <a>object bounding box</a> as reference box.
486
+
: <dfn dfn-type=value>fill-box</dfn>
487
+
:: Uses the <a>object bounding box</a> as reference box.
488
488
489
-
: <dfn dfn-type=value>stroke-box</dfn>
490
-
:: Uses the <a>stroke bounding box</a> as reference box.
489
+
: <dfn dfn-type=value>stroke-box</dfn>
490
+
:: Uses the <a>stroke bounding box</a> as reference box.
491
491
492
-
: <dfn dfn-type=value>view-box</dfn>
493
-
:: Uses the nearest <a href="https://www.w3.org/TR/SVG11/intro.html#TermSVGViewport">SVG viewport</a> as reference box.
492
+
: <dfn dfn-type=value>view-box</dfn>
493
+
:: Uses the nearest <a href="https://www.w3.org/TR/SVG11/intro.html#TermSVGViewport">SVG viewport</a> as reference box.
494
494
495
-
If a {{viewBox}} attribute is specified for the <a href="https://www.w3.org/TR/SVG11/intro.html#TermSVGViewport">SVG viewport</a> creating element:
496
-
* The reference box is positioned at the origin of the coordinate system established by the {{viewBox}} attribute.
497
-
* The dimension of the reference box is set to the <em>width</em> and <em>height</em> values of the {{viewBox}} attribute.
495
+
If a {{viewBox}} attribute is specified for the <a href="https://www.w3.org/TR/SVG11/intro.html#TermSVGViewport">SVG viewport</a> creating element:
496
+
* The reference box is positioned at the origin of the coordinate system established by the {{viewBox}} attribute.
497
+
* The dimension of the reference box is set to the <em>width</em> and <em>height</em> values of the {{viewBox}} attribute.
498
498
</dl>
499
499
500
500
For the SVG <{pattern}> element, the reference box gets defined by the <{pattern/patternUnits}> attribute [[!SVG2]].
@@ -912,41 +912,40 @@ A percentage for vertical translations is relative to the height of the [=refere
:: specifies a <a href="#TranslateDefined">2D translation</a> by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter. If <em><ty></em> is not provided, ty has zero as a value.
:: specifies a <a href="#TranslateDefined">2D translation</a> by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter. If <em><ty></em> is not provided, ty has zero as a value.
:: specifies a <a href="#ScaleDefined">2D scale</a> operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it takes a value equal to the first. For example, scale(1, 1) would leave an element unchanged, while scale(2, 2) would cause it to appear twice as long in both the X and Y axes, or four times its typical geometric size.
:: specifies a <a href="#ScaleDefined">2D scale</a> operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it takes a value equal to the first. For example, scale(1, 1) would leave an element unchanged, while scale(2, 2) would cause it to appear twice as long in both the X and Y axes, or four times its typical geometric size.
:: specifies a <a href="#RotateDefined">2D rotation</a> by the angle specified in the parameter about the origin of the element, as defined by the 'transform-origin' property. For example, ''rotate(90deg)'' would cause elements to appear rotated one-quarter of a turn in the clockwise direction.
:: specifies a <a href="#RotateDefined">2D rotation</a> by the angle specified in the parameter about the origin of the element, as defined by the 'transform-origin' property. For example, ''rotate(90deg)'' would cause elements to appear rotated one-quarter of a turn in the clockwise direction.
:: specifies a <a href="#SkewDefined">2D skew</a> by [ax,ay] for X and Y. If the second parameter is not provided, it has a zero value.
941
941
942
-
Advisement: ''skew()'' exists for compatibility reasons, and should not be used in new content. Use ''skewX()'' or ''skewY()'' instead, noting that the behavior of ''skew()'' is different from multiplying ''skewX()'' with ''skewY()''.
942
+
Advisement: ''skew()'' exists for compatibility reasons, and should not be used in new content. Use ''skewX()'' or ''skewY()'' instead, noting that the behavior of ''skew()'' is different from multiplying ''skewX()'' with ''skewY()''.
:: specifies a <a href="#SkewYDefined">2D skew transformation along the Y axis</a> by the given angle.
950
949
</dl>
951
950
952
951
@@ -956,12 +955,11 @@ Transform function primitives and derivatives {#transform-primitives}
956
955
Some transform functions can be represented by more generic transform functions. These transform functions are called derived transform functions, and the generic transform functions are called primitive transform functions. Two-dimensional primitives and their derived transform functions are:
957
956
958
957
<dl>
959
-
<dt id="translate-primitive">''translate()''
960
-
<dd>for <<translateX()>>, <<translateY()>> and <<translate()>>.
961
-
962
-
<dt id="scale-primitive">''scale()''
963
-
<dd>for <<scaleX()>>, <<scaleY()>> and <<scale()>>.
958
+
<dt id="translate-primitive">''translate()''
959
+
<dd>for <<translateX()>>, <<translateY()>> and <<translate()>>.
964
960
961
+
<dt id="scale-primitive">''scale()''
962
+
<dd>for <<scaleX()>>, <<scaleY()>> and <<scale()>>.
965
963
</dl>
966
964
967
965
@@ -1416,7 +1414,7 @@ One translation unit on a matrix is equivalent to 1 pixel in the local coordinat
@@ -1440,12 +1438,17 @@ One translation unit on a matrix is equivalent to 1 pixel in the local coordinat
1440
1438
1441
1439
</ul>
1442
1440
1443
-
# Privacy and Security Considerations # {#priv-sec}
1441
+
# Privacy Considerations # {#privacy}
1442
+
1444
1443
UAs must implement transform operations in a way attackers can not infer information and mount a timing attack.
1445
1444
1446
1445
A timing attack is a method of obtaining information about content that is otherwise protected, based on studying the amount of time it takes for an operation to occur.
1447
1446
1448
-
At this point there are no information about potential privacy or security concerns specific to this specification.
1447
+
At this point there are no information about potential privacy concerns specific to this specification.
1448
+
1449
+
# Security Considerations # {#security}
1450
+
1451
+
At this point there are no information about potential security concerns specific to this specification.
1449
1452
1450
1453
<h2 class="no-num" id="changes">Changes</h2>
1451
1454
@@ -1455,6 +1458,7 @@ At this point there are no information about potential privacy or security conce
1455
1458
* Simplified grammar of transform functions. (No normative impact.)
1456
1459
* Remove animation support of 'transform' from <a element>animate</a> and <a element>set</a> elements.
1457
1460
* State that transforms do not transform backgrounds that are propagated to the canvas, and clarify some other interactions with background propagation.
1461
+
* Split privacy and security section.
1458
1462
* Editorial changes.
1459
1463
1460
1464
<h3 class="no-num" id="WD20181130">Since the <a href="https://www.w3.org/TR/2018/WD-css-transforms-1-20181130/">30 November 2018 Working Draft</a></h3>
@@ -1467,7 +1471,7 @@ At this point there are no information about potential privacy or security conce
1467
1471
</h3>
1468
1472
1469
1473
* Remove specification text that makes <a element-attr for=pattern>patternTransform</a>, <a element-attr for=linearGradient>gradientTransform</a> presentation attributes representing the 'transform' property. That is going to get specified by SVG 2 [[SVG2]].
1470
-
* Added <a href="#priv-sec">privacy and security</a> section.
1474
+
* Added privacy and security section.
1471
1475
* Use [[SVG2]] definitions for <a>transformable elements</a>.
1472
1476
* Added special syntax for <a element-attr for>transform</a>, <{linearGradient/gradientTransform}> and <{pattern/patternTransform}> attributes.
1473
1477
* Clarify multiplication order by using terms <a>post-multiply</a> and <a>pre-multiply</a>.
0 commit comments