Skip to content

Commit 04552c9

Browse files
committed
[css-transforms-1] Inline specification issues
1 parent 0a75778 commit 04552c9

1 file changed

Lines changed: 27 additions & 3 deletions

File tree

css-transforms-1/Overview.bs

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<pre class='metadata'>
22
Title: CSS Transforms Module Level 1
3-
Status: WD
3+
Status: ED
44
Work Status: Refining
55
ED: https://drafts.csswg.org/css-transforms/
66
TR: https://www.w3.org/TR/css-transforms-1/
@@ -120,9 +120,14 @@ When used in this specification, terms have the meanings assigned in this sectio
120120

121121
: <dfn>transformable element</dfn>
122122
:: A transformable element is an element in one of these categories:
123-
* 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]]
124-
* 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]].
123+
* 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]]
124+
* 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]].
125125

126+
Issue(2033): Too restrictive and replace black list with white list?
127+
128+
Issue(908): How do transforms apply to inlines?
129+
130+
Issue(358): Adapte SVG2's content model for transformable elements.
126131
: <dfn>transformed element</dfn>
127132
:: An element with a computed value other than ''transform/none'' for the 'transform' property.
128133

@@ -167,6 +172,8 @@ Transforms apply to [=transformable elements=].
167172

168173
Note: Transformations do affect the visual rendering, but have no affect on the CSS layout other than affecting overflow. Transforms are also taken into account when computing client rectangles exposed via the Element Interface Extensions, namely <a href="https://www.w3.org/TR/cssom-view/#dom-element-getclientrects">getClientRects()</a> and <a href="https://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect">getBoundingClientRect()</a>, which are specified in [[CSSOM-VIEW]].
169174

175+
Issue(901): Overflow bounds that are computed at the end of layout can increase (but not decrease) by paint-level effects such as transforms.
176+
170177
<div class="example">
171178
<pre>
172179
div {
@@ -360,8 +367,11 @@ All transformations defined by the 'transform' and 'transform-origin' property a
360367
* The reference box is positioned at the origin of the coordinate system established by the {{viewBox}} attribute.
361368
* The dimension of the reference box is set to the <em>width</em> and <em>height</em> values of the {{viewBox}} attribute.
362369

370+
Issue(999): Follow used value definition of Fill and Stroke specs/SVG2?
363371
</dl>
364372

373+
Issue(892): Clarify what the reference box of paint servers, <a element>clipPath</a> and <a element>mask</a> is.
374+
365375
A reference box adds an additional offset to the origin specified by the 'transform-origin' property.
366376

367377
For SVG elements without an associated CSS layout box, the [=used value=] for <a value for=transform-box>border-box</a> is <a value for=transform-box>view-box</a>.
@@ -374,6 +384,8 @@ The SVG <a element-attr for>transform</a> Attribute {#svg-transform}
374384

375385
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.
376386

387+
Issue(919) Can patternTransform or gradientTransform or transform attributes apply to one element? If yes, which is the most significant?
388+
377389
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]].
378390

379391
SVG <a element-attr for>transform</a> attribute specificity {#transform-attribute-specificity}
@@ -470,6 +482,8 @@ In particular the <{pattern/patternUnits}>, <{linearGradient/gradientUnits}> and
470482

471483
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=].
472484

485+
Issue(893): User coordinate space statement breaks SVG.
486+
473487
<div class="example">
474488

475489
The 'transform-origin' property on the pattern in the following example specifies a ''50%'' translation of the origin in the horizontal and vertical dimension. The 'transform' property specifies a translation as well, but in absolute lengths.
@@ -518,6 +532,8 @@ With this specification, the <{animate}> element and the <{set}> element can ani
518532

519533
The animation effect is post-multiplied to the underlying value for additive <{animate}> animations (see below) instead of added to the underlying value, due to the specific behavior of <<transform-list>> animations.
520534

535+
Issue(909) Clarify post-/pre-multiply column-/row-major order.
536+
521537
<var ignore=''>From-to</var>, <var ignore=''>from-by</var> and <var ignore=''>by</var> animations are defined in SMIL to be equivalent to a corresponding <var>values</var> animation. However, <var ignore=''>to</var> animations are a mixture of additive and non-additive behavior [[SMIL3]].
522538

523539
<var ignore=''>To</var> animations on <{animate}> provide specific functionality to get a smooth change from the underlying value to the <var ignore=''>to</var> attribute value, which conflicts mathematically with the requirement for additive transform animations to be post-multiplied. As a consequence, the behavior of <var ignore=''>to</var> animations for <{animate}> is undefined. Authors are suggested to use <var ignore=''>from-to</var>, <var ignore=''>from-by</var>, <var ignore=''>by</var> or <var ignore=''>values</var> animations to achieve any desired transform animation.
@@ -564,6 +580,8 @@ Some animations require a neutral element for addition. For transform functions
564580

565581
Note: Animations to or from the neutral element of additions <<matrix()>> fall back to discrete animations (See [[#matrix-interpolation]]).
566582

583+
Issue(932): Replace text and simply refer to `null` value?
584+
567585
<div class="example">
568586

569587
A <var>by</var> animation with a by value v<sub>b</sub> is equivalent to the same animation with a values list with 2 values, the neutral element for addition for the domain of the target attribute (denoted 0) and v<sub>b</sub>, and ''additive="sum"''. [[SMIL3]]
@@ -734,6 +752,8 @@ When animating or transitioning transforms, the transform function lists must be
734752

735753
In some cases, an animation might cause a transformation matrix to be singular or non-invertible. For example, an animation in which scale moves from 1 to -1. At the time when the matrix is in such a state, the transformed element is not rendered.
736754

755+
Issue(927): Use proposed tranform interpolation from GitHub issue.
756+
737757
Transform function primitives and derivatives {#transform-primitives}
738758
=====================================================================
739759

@@ -899,6 +919,10 @@ Decomposition also makes use of the following function:
899919

900920
The pseudo code below is based upon the "unmatrix" method in "Graphics Gems II, edited by Jim Arvo".
901921

922+
Issue(924): Clarify column/row order for matrix in pseudo code.
923+
924+
Issue(483): Incorrect indices for matrix?
925+
902926
<pre>
903927
Input: matrix ; a 4x4 matrix
904928
Output: translation ; a 2 component vector

0 commit comments

Comments
 (0)