@@ -214,7 +214,7 @@ Conditional ''@import'' Rules</h3>
214214 <pre class='lang-css'>
215215 @import url("fallback-layout.css") supports(not (display: flex));
216216 @supports (display: flex) {
217- ...
217+ ...
218218 }
219219 </pre>
220220 </div>
@@ -1196,15 +1196,15 @@ Cascade Layers</h3>
11961196
11971197 <pre class='lang-css'>
11981198 @layer utilities {
1199- .padding-small {
1200- /* specificity of 0,1,0 - explicit "utilities" layer */
1201- padding: 0.25em;
1202- }
1199+ .padding-small {
1200+ /* specificity of 0,1,0 - explicit "utilities" layer */
1201+ padding: 0.25em;
1202+ }
12031203 }
12041204
12051205 .card > .content {
1206- /* specificity of 0,2,0 - implicit (first) layer */
1207- padding: 1em;
1206+ /* specificity of 0,2,0 - implicit (first) layer */
1207+ padding: 1em;
12081208 }
12091209 </pre>
12101210
@@ -1214,6 +1214,43 @@ Cascade Layers</h3>
12141214 and come later in the source order.
12151215 </div>
12161216
1217+ Name-defining [=at-rules=]
1218+ such as ''@keyframes'' or ''@font-face''
1219+ that are defined inside [=cascade layers=]
1220+ also use the layer order when resolving name collisions.
1221+
1222+ <div class="example">
1223+ For example,
1224+ authors could override the animation from a framework,
1225+ by providing keyframes with the same name in a higher-priority layer:
1226+
1227+ <pre class='lang-css'>
1228+ /* establish the layer order, so the "override" layer takes precedence */
1229+ @layer framework, override;
1230+
1231+ @layer override {
1232+ @keyframes slide-left {
1233+ from { translate: 0; }
1234+ to { translate: -100% 0; }
1235+ }
1236+ }
1237+
1238+ @layer framework {
1239+ @keyframes slide-left {
1240+ from { margin-left: 0; }
1241+ to { margin-left: -100%; }
1242+ }
1243+ }
1244+
1245+ .sidebar { animation: slide-left 300ms; }
1246+ </pre>
1247+
1248+ In this case the ''override'' layer
1249+ has a higher cascade priority than the ''framework'' layer,
1250+ so <code> slide-left</code> will animate
1251+ using the <code> translate</code> property rather than <code> margin-left</code> .
1252+ </div>
1253+
12171254<h4 id="layer-declaration">
12181255Declaring Cascade Layers</h4>
12191256
@@ -1364,8 +1401,8 @@ Anonymous Layers</h5>
13641401
13651402 <pre class=lang-css>
13661403 @layer {
1367- @layer foo { /* layer 1 */ }
1368- @layer foo { /* also layer 1 */ }
1404+ @layer foo { /* layer 1 */ }
1405+ @layer foo { /* also layer 1 */ }
13691406 }
13701407 </pre>
13711408
@@ -1375,10 +1412,10 @@ Anonymous Layers</h5>
13751412
13761413 <pre class=lang-css>
13771414 @layer {
1378- @layer foo { /* layer 1 */ }
1415+ @layer foo { /* layer 1 */ }
13791416 }
13801417 @layer {
1381- @layer foo { /* layer 2 */ }
1418+ @layer foo { /* layer 2 */ }
13821419 }
13831420 </pre>
13841421 </div>
0 commit comments