8000 [css-shapes] add Animatable lines to propdefs · xfq/csswg-drafts@75cb630 · GitHub
Skip to content

Commit 75cb630

Browse files
committed
[css-shapes] add Animatable lines to propdefs
1 parent d3b5b89 commit 75cb630

2 files changed

Lines changed: 66 additions & 21 deletions

File tree

css-shapes/Overview.html

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ <h2 class="no-num no-toc no-ref heading settled heading" id=status><span class=c
116116
<h2 class="no-num no-toc no-ref heading settled heading" id=contents><span class=content>Table of contents</span></h2>
117117
<div data-fill-with=table-of-contents><ul class=toc><li><a href=#intro><span class=secno>1</span>
118118
Introduction</a><ul class=toc><li><a href=#module-interactions><span class=secno>1.1</span>
119-
Module Interactions</a><li><a href=#values><span class=secno>1.2</span>Values</a><li><a href=#terminology><span class=secno>1.3</span>
119+
Module Interactions</a><li><a href=#values><span class=secno>1.2</span>Values</a><li><a href=#animations><span class=secno>1.3</span>Animated Values</a><li><a href=#terminology><span class=secno>1.4</span>
120120
Terminology</a></ul><li><a href=#relation-to-box-model-and-float-behavior><span class=secno>2</span>
121121
Relation to the box model and float behavior</a><li><a href=#basic-shape-functions><span class=secno>3</span>
122122
Basic Shapes</a><ul class=toc><li><a href=#supported-basic-shapes><span class=secno>3.1</span>
@@ -186,7 +186,21 @@ <h3 class="heading settled heading" data-level=1.2 id=values><span class=secno>1
186186

187187
<p> In addition to the property-specific values listed in their definitions, all properties defined in this specification also accept the inherit keyword as their property value. For readability it has not been repeated explicitly.
188188

189-
<h3 class="heading settled heading" data-level=1.3 id=terminology><span class=secno>1.3 </span><span class=content>
189+
<h3 class="heading settled heading" data-level=1.3 id=animations><span class=secno>1.3 </span><span class=content>Animated Values</span><a class=self-link href=#animations></a></h3>
190+
191+
<p> It is expected that CSS will include ways
192+
to animate transitions between styles.
193+
(The section
194+
<a href=http://www.w3.org/TR/css3-transitions/#animatable-types>"Animation of property types"</a>
195+
of the <cite>CSS Transitions module</cite> <a data-biblio-type=informative data-link-type=biblio href=#css3-transitions title=css3-transitions>[CSS3-TRANSITIONS]</a>
196+
is expected to define how different kinds
197+
of values are interpolated during a transition.)
198+
In anticipation of that,
199+
this module includes a line "Animatable" for each property,
200+
which specifies whether and how values
201+
of the property can be animated.
202+
203+
<h3 class="heading settled heading" data-level=1.4 id=terminology><span class=secno>1.4 </span><span class=content>
190204
Terminology</span><a class=self-link href=#terminology></a></h3>
191205

192206
<p> <dfn data-dfn-type=dfn data-noexport="" id=wrap>Wrap<a class=self-link href=#wrap></a></dfn>
@@ -564,9 +578,16 @@ <h3 class="heading settled heading" data-level=3.2 id=basic-shape-interpolation>
564578
one basic shape and a second,
565579
the rules below are applied.
566580
The values in the shape functions interpolate
567-
as a <a href=http://dev.w3.org/csswg/css3-transitions/#animtype-simple-list>simple list</a>
568-
of <a href=http://dev.w3.org/csswg/css3-transitions/#animtype-lpcalc>length,
569-
percentage, or calc</a> <a data-biblio-type=informative data-link-type=biblio href=#css3-transitions title=css3-transitions>[CSS3-TRANSITIONS]</a>.
581+
as a <a href=http://www.w3.org/TR/css3-transitions/#animtype-simple-list>simple list</a>.
582+
The list values interpolate as
583+
<a href=http://www.w3.org/TR/css3-transitions/#animtype-lpcalc>length,
584+
percentage, or calc</a> where possible.
585+
If list values are not one of those types
586+
but are identical
587+
(such as finding <a class=property data-link-type=propdesc href=http://dev.w3.org/csswg/css-position-3/#left title=left>left</a>
588+
in the same list position
589+
in both lists)
590+
those values do interpolate.
570591

571592
<p> <ul>
572593
<li>
@@ -674,7 +695,7 @@ <h2 class="heading settled heading" data-level=4 id=shapes-from-image><span clas
674695
<h2 class="heading settled heading" data-level=5 id=shapes-from-box-values><span class=secno>5 </span><span class=content>
675696
Shapes from Box Values</span><a class=self-link href=#shapes-from-box-values></a></h2>
676697

677-
<p> Shapes can be defined by reference to edges in the <a href=http://www.w3.org/TR/CSS21/box.html#box-dimensions>CSS Box Model</a>. These edges include <a href=http://dev.w3.org/csswg/css-backgrounds/#corner-shaping>border-radius curvature</a> <a data-biblio-type=normative data-link-type=biblio href=#css3bg title=css3bg>[CSS3BG]</a>. The definitions of the <dfn class=css-code data-dfn-type=type data-export="" id=typedef-box><a class="production css-code" data-link-type=type href=#typedef-box title="<box>">&lt;box&gt;</a><a class=self-link href=#typedef-box></a></dfn> values are:
698+
<p> Shapes can be defined by reference to edges in the <a href=http://www.w3.org/TR/CSS21/box.html#box-dimensions>CSS Box Model</a>. These edges include <a href=http://www.w3.org/TR/css3-background/#corner-shaping>border-radius curvature</a> <a data-biblio-type=normative data-link-type=biblio href=#css3bg title=css3bg>[CSS3BG]</a>. The definitions of the <dfn class=css-code data-dfn-type=type data-export="" id=typedef-box><a class="production css-code" data-link-type=type href=#typedef-box title="<box>">&lt;box&gt;</a><a class=self-link href=#typedef-box></a></dfn> values are:
678699

679700
<p> The <dfn data-dfn-type=dfn data-noexport="" id=margin-box>margin-box<a class=self-link href=#margin-box></a></dfn> value defines the shape
680701
enclosed by the outside margin edge.
@@ -748,7 +769,7 @@ <h2 class="heading settled heading" data-level=6 id=declaring-shapes><span class
748769
<h3 class="heading settled heading" data-level=6.1 id=shape-outside-property><span class=secno>6.1 </span><span class=content>
749770
The <a class=property data-link-type=propdesc href=#propdef-shape-outside title=shape-outside>shape-outside</a> Property</span><a class=self-link href=#shape-outside-property></a></h3>
750771

751-
<table class="definition propdef"><tr><th>Name:<td><dfn class=css-code data-dfn-type=property data-export="" id=propdef-shape-outside>shape-outside<a class=self-link href=#propdef-shape-outside></a></dfn><tr><th>Value:<td>auto | [<a class="production css-code" data-link-type=type href=#typedef-basic-shape title="<basic-shape>">&lt;basic-shape&gt;</a> || <a class="production css-code" data-link-type=type href=#typedef-box title="<box>">&lt;box&gt;</a>] | <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-images-3/#image-type title="<image>">&lt;image&gt;</a><tr><th>Initial:<td>auto<tr><th>Applies to:<td>floats<tr><th>Inherited:<td>no<tr><th>Media:<td>visual<tr><th>Computed value:<td>computed lengths for <a class="production css-code" data-link-type=type href=#typedef-basic-shape title="<basic-shape>">&lt;basic-shape&gt;</a>, the <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-images-3/#image-type title="<image>">&lt;image&gt;</a> with its URI made absolute, otherwise as specified</table>
772+
<table class="definition propdef"><tr><th>Name:<td><dfn class=css-code data-dfn-type=property data-export="" id=propdef-shape-outside>shape-outside<a class=self-link href=#propdef-shape-outside></a></dfn><tr><th>Value:<td>auto | [<a class="production css-code" data-link-type=type href=#typedef-basic-shape title="<basic-shape>">&lt;basic-shape&gt;</a> || <a class="production css-code" data-link-type=type href=#typedef-box title="<box>">&lt;box&gt;</a>] | <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-images-3/#image-type title="<image>">&lt;image&gt;</a><tr><th>Initial:<td>auto<tr><th>Applies to:<td>floats<tr><th>Inherited:<td>no<tr><th>Media:<td>visual<tr><th>Computed value:<td>computed lengths for <a class="production css-code" data-link-type=type href=#typedef-basic-shape title="<basic-shape>">&lt;basic-shape&gt;</a>, the <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-images-3/#image-type title="<image>">&lt;image&gt;</a> with its URI made absolute, otherwise as specified<tr><th>Animatable:<td>as <a href=#basic-shape-interpolation>specified</a> for <a class="production css-code" data-link-type=type href=#typedef-basic-shape title="<basic-shape>">&lt;basic-shape&gt;</a>, otherwise no</table>
752773
<p> The values of this property have the following meanings:
753774

754775
<dl data-dfn-for=shape-outside data-dfn-type=value>
@@ -815,7 +836,7 @@ <h3 class="heading settled heading" data-level=6.2 id=shape-image-threshold-prop
815836
all the pixels
816837
that are more than 50% opaque.
817838

818-
<table class="definition propdef"><tr><th>Name:<td><dfn class=css-code data-dfn-type=property data-export="" id=propdef-shape-image-threshold>shape-image-threshold<a class=self-link href=#propdef-shape-image-threshold></a></dfn><tr><th>Value:<td><a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#number-value title="<number>">&lt;number&gt;</a><tr><th>Initial:<td>0.0<tr><th>Applies to:<td>floats<tr><th>Inherited:<td>no<tr><th>Media:<td>visual<tr><th>Computed value:<td>The same as the specified value after clipping the <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#number-value title="<number>">&lt;number&gt;</a> to the range [0.0,1.0]</table>
839+
<table class="definition propdef"><tr><th>Name:<td><dfn class=css-code data-dfn-type=property data-export="" id=propdef-shape-image-threshold>shape-image-threshold<a class=self-link href=#propdef-shape-image-threshold></a></dfn><tr><th>Value:<td><a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#number-value title="<number>">&lt;number&gt;</a><tr><th>Initial:<td>0.0<tr><th>Applies to:<td>floats<tr><th>Inherited:<td>no<tr><th>Media:<td>visual<tr><th>Computed value:<td>The same as the specified value after clipping the <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#number-value title="<number>">&lt;number&gt;</a> to the range [0.0,1.0]<tr><th>Animatable:<td>as <a href=http://www.w3.org/TR/css3-transitions/#animtype-number>number</a></table>
819840
<p> The values of this property have the following meanings:
820841

821842
<dl data-dfn-for=shape-image-threshold data-dfn-type=value>
@@ -864,7 +885,7 @@ <h3 class="heading settled heading" data-level=6.3 id=shape-margin-property><spa
864885
This property takes only non-negative values.
865886

866887

867-
<table class="definition propdef"><tr><th>Name:<td><dfn class=css-code data-dfn-type=property data-export="" id=propdef-shape-margin>shape-margin<a class=self-link href=#propdef-shape-margin></a></dfn><tr><th>Value:<td><a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#length-value title="<length>">&lt;length&gt;</a> | <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#percentage-value title="<percentage>">&lt;percentage&gt;</a><tr><th>Initial:<td>0<tr><th>Applies to:<td>floats<tr><th>Inherited:<td>no<tr><th>Media:<td>visual<tr><th>Computed value:<td>the absolute length</table>
888+
<table class="definition propdef"><tr><th>Name:<td><dfn class=css-code data-dfn-type=property data-export="" id=propdef-shape-margin>shape-margin<a class=self-link href=#propdef-shape-margin></a></dfn><tr><th>Value:<td><a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#length-value title="<length>">&lt;length&gt;</a> | <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#percentage-value title="<percentage>">&lt;percentage&gt;</a><tr><th>Initial:<td>0<tr><th>Applies to:<td>floats<tr><th>Inherited:<td>no<tr><th>Media:<td>visual<tr><th>Computed value:<td>the absolute length<tr><th>Animatable:<td>as <a href=http://www.w3.org/TR/css3-transitions/#animtype-lpcalc>length, percentage, or calc</a>.</table>
868889
<dl data-dfn-for=shape-margin data-dfn-type=value>
869890
<dt><dfn class=css-code data-dfn-for=shape-margin data-dfn-type=value data-export="" id=valuedef-length><a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#length-value title="<length>">&lt;length&gt;</a><a class=self-link href=#valuedef-length></a></dfn></dt>
870891
<dd>
@@ -873,7 +894,7 @@ <h3 class="heading settled heading" data-level=6.3 id=shape-margin-property><spa
873894
<dt><dfn class=css-code data-dfn-for=shape-margin data-dfn-type=value data-export="" id=valuedef-percentage><a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#percentage-value title="<percentage>">&lt;percentage&gt;</a><a class=self-link href=#valuedef-percentage></a></dfn></dt>
874895
<dd>
875896
Sets the margin of the shape to a percentage
876-
of the width of the shape’s <a data-link-type=dfn href=#reference-box title="reference box">reference box</a>.
897+
of the width of the element’s containing block.
877898
</dd>
878899
</dl>
879900

@@ -1131,7 +1152,7 @@ <h2 class="no-num no-ref heading settled heading" id=index><span class=content>
11311152
<li>empty float area, <a href=#empty-float-area title="section 2">2</a>
11321153
<li>farthest-side, <a href=#farthest-side title="section 3.1">3.1</a>
11331154
<li>&lt;fill-rule&gt;, <a href=#typedef-fill-rule title="section 3.1">3.1</a>
1134-
<li>Float area, <a href=#float-area title="section 1.3">1.3</a>
1155+
<li>Float area, <a href=#float-area title="section 1.4">1.4</a>
11351156
<li>&lt;image&gt;, <a href=#valuedef-image title="section 6.1">6.1</a>
11361157
<li>inset(), <a href=#funcdef-inset title="section 3.1">3.1</a>
11371158
<li>&lt;length&gt;, <a href=#valuedef-length title="section 6.3">6.3</a>
@@ -1146,14 +1167,14 @@ <h2 class="no-num no-ref heading settled heading" id=index><span class=content>
11461167
<li>shape-margin, <a href=#propdef-shape-margin title="section 6.3">6.3</a>
11471168
<li>shape-outside, <a href=#propdef-shape-outside title="section 6.1">6.1</a>
11481169
<li>&lt;shape-radius&gt;, <a href=#typedef-shape-radius title="section 3.1">3.1</a>
1149-
<li>Wrap, <a href=#wrap title="section 1.3">1.3</a>
1170+
<li>Wrap, <a href=#wrap title="section 1.4">1.4</a>
11501171
</ul></div>
11511172

11521173
<h2 class="no-num no-ref heading settled heading" id=property-index><span class=content>
11531174
Property index</span><a class=self-link href=#property-index></a></h2>
1154-
<div data-fill-with=property-index><table class="proptable data"><thead><tr><th scope=col>Name<th scope=col>Value<th scope=col>Initial<th scope=col>Applies to<th scope=col>Inh.<th scope=col>%ages<th scope=col>Media<th scope=col>Computed value<tbody>
1155-
<tr><th scope=row><a data-property="">shape-outside</a><td>auto | [&lt;basic-shape&gt; || &lt;box&gt;] | &lt;image&gt;<td>auto<td>floats<td>no<td><td>visual<td>computed lengths for &lt;basic-shape&gt;, the &lt;image&gt; with its URI made absolute, otherwise as specified
1156-
<tr><th scope=row><a data-property="">shape-image-threshold</a><td>&lt;number&gt;<td>0.0<td>floats<td>no<td><td>visual<td>The same as the specified value after clipping the &lt;number&gt; to the range [0.0,1.0]
1157-
<tr><th scope=row><a data-property="">shape-margin</a><td>&lt;length&gt; | &lt;percentage&gt;<td>0<td>floats<td>no<td><td>visual<td>the absolute length</table></div>
1175+
<div data-fill-with=property-index><table class="proptable data"><thead><tr><th scope=col>Name<th scope=col>Value<th scope=col>Initial<th scope=col>Applies to<th scope=col>Inh.<th scope=col>%ages<th scope=col>Media<th scope=col>Animatable<th scope=col>Computed value<tbody>
1176+
<tr><th scope=row><a data-property="">shape-outside</a><td>auto | [&lt;basic-shape&gt; || &lt;box&gt;] | &lt;image&gt;<td>auto<td>floats<td>no<td><td>visual<td>as specified for &lt;basic-shape&gt;, otherwise no<td>computed lengths for &lt;basic-shape&gt;, the &lt;image&gt; with its URI made absolute, otherwise as specified
1177+
<tr><th scope=row><a data-property="">shape-image-threshold</a><td>&lt;number&gt;<td>0.0<td>floats<td>no<td><td>visual<td>as number<td>The same as the specified value after clipping the &lt;number&gt; to the range [0.0,1.0]
1178+
<tr><th scope=row><a data-property="">shape-margin</a><td>&lt;length&gt; | &lt;percentage&gt;<td>0<td>floats<td>no<td><td>visual<td>as length, percentage, or calc.<td>the absolute length</table></div>
11581179

11591180

css-shapes/Overview.src.html

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,20 @@ <h3 id="values">Values</h3>
6363

6464
In addition to the property-specific values listed in their definitions, all properties defined in this specification also accept the inherit keyword as their property value. For readability it has not been repeated explicitly.
6565

66+
<h3 id=animations>Animated Values</h3>
67+
68+
It is expected that CSS will include ways
69+
to animate transitions between styles.
70+
(The section
71+
<a href="http://www.w3.org/TR/css3-transitions/#animatable-types">"Animation of property types"</a>
72+
of the <cite>CSS Transitions module</cite> [[CSS3-TRANSITIONS]]
73+
is expected to define how different kinds
74+
of values are interpolated during a transition.)
75+
In anticipation of that,
76+
this module includes a line "Animatable" for each property,
77+
which specifies whether and how values
78+
of the property can be animated.
79+
6680
<h3 id="terminology">
6781
Terminology</h3>
6882

@@ -446,9 +460,16 @@ <h3 id='basic-shape-interpolation'>
446460
one basic shape and a second,
447461
the rules below are applied.
448462
The values in the shape functions interpolate
449-
as a <a href="http://dev.w3.org/csswg/css3-transitions/#animtype-simple-list">simple list</a>
450-
of <a href="http://dev.w3.org/csswg/css3-transitions/#animtype-lpcalc">length,
451-
percentage, or calc</a> [[CSS3-TRANSITIONS]].
463+
as a <a href="http://www.w3.org/TR/css3-transitions/#animtype-simple-list">simple list</a>.
464+
The list values interpolate as
465+
<a href="http://www.w3.org/TR/css3-transitions/#animtype-lpcalc">length,
466+
percentage, or calc</a> where possible.
467+
If list values are not one of those types
468+
but are identical
469+
(such as finding 'left'
470+
in the same list position
471+
in both lists)
472+
those values do interpolate.
452473

453474
<ul>
454475
<li>
@@ -558,7 +579,7 @@ <h2 id="shapes-from-image">
558579
<h2 id="shapes-from-box-values">
559580
Shapes from Box Values</h2>
560581

561-
Shapes can be defined by reference to edges in the <a href="http://www.w3.org/TR/CSS21/box.html#box-dimensions">CSS Box Model</a>. These edges include <a href="http://dev.w3.org/csswg/css-backgrounds/#corner-shaping">border-radius curvature</a> [[!CSS3BG]]. The definitions of the <dfn><<box>></dfn> values are:
582+
Shapes can be defined by reference to edges in the <a href="http://www.w3.org/TR/CSS21/box.html#box-dimensions">CSS Box Model</a>. These edges include <a href="http://www.w3.org/TR/css3-background/#corner-shaping">border-radius curvature</a> [[!CSS3BG]]. The definitions of the <dfn><<box>></dfn> values are:
562583

563584
The <dfn>margin-box</dfn> value defines the shape
564585
enclosed by the outside margin edge.
@@ -642,6 +663,7 @@ <h3 id="shape-outside-property">
642663
Inherited: no
643664
Computed Value: computed lengths for <<basic-shape>>, the <<image>> with its URI made absolute, otherwise as specified
644665
Media: visual
666+
Animatable: as <a href="#basic-shape-interpolation">specified</a> for <<basic-shape>>, otherwise no
645667
</pre>
646668

647669
The values of this property have the following meanings:
@@ -718,6 +740,7 @@ <h3 id="shape-image-threshold-property">
718740
Inherited: no
719741
Computed Value: 2334 The same as the specified value after clipping the <<number>> to the range [0.0,1.0]
720742
Media: visual
743+
Animatable: as <a href="http://www.w3.org/TR/css3-transitions/#animtype-number">number</a>
721744
</pre>
722745

723746
The values of this property have the following meanings:
@@ -776,6 +799,7 @@ <h3 id="shape-margin-property">
776799
Inherited: no
777800
Computed Value: the absolute length
778801
Media: visual
802+
Animatable: as <a href="http://www.w3.org/TR/css3-transitions/#animtype-lpcalc">length, percentage, or calc</a>.
779803
</pre>
780804

781805
<dl dfn-type="value" dfn-for="shape-margin">
@@ -786,7 +810,7 @@ <h3 id="shape-margin-property">
786810
<dt><dfn><<percentage>></dfn></dt>
787811
<dd>
788812
Sets the margin of the shape to a percentage
789-
of the width of the shape's <a>reference box</a>.
813+
of the width of the element's containing block.
790814
</dd>
791815
</dl>
792816

0 commit comments

Comments
 (0)