@@ -214,7 +214,7 @@ Conditional ''@import'' Rules</h3>
214
214
<pre class='lang-css'>
215
215
@import url("fallback-layout.css") supports(not (display: flex));
216
216
@supports (display: flex) {
217
- ...
217
+ ...
218
218
}
219
219
</pre>
220
220
</div>
@@ -1196,15 +1196,15 @@ Cascade Layers</h3>
1196
1196
1197
1197
<pre class='lang-css'>
1198
1198
@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
+ }
1203
1203
}
1204
1204
1205
1205
.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;
1208
1208
}
1209
1209
</pre>
1210
1210
@@ -1214,6 +1214,43 @@ Cascade Layers</h3>
1214
1214
and come later in the source order.
1215
1215
</div>
1216
1216
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
+
1217
1254
<h4 id="layer-declaration">
1218
1255
Declaring Cascade Layers</h4>
1219
1256
@@ -1364,8 +1401,8 @@ Anonymous Layers</h5>
1364
1401
1365
1402
<pre class=lang-css>
1366
1403
@layer {
1367
- @layer foo { /* layer 1 */ }
1368
- @layer foo { /* also layer 1 */ }
1404
+ @layer foo { /* layer 1 */ }
1405
+ @layer foo { /* also layer 1 */ }
1369
1406
}
1370
1407
</pre>
1371
1408
@@ -1375,10 +1412,10 @@ Anonymous Layers</h5>
1375
1412
1376
1413
<pre class=lang-css>
1377
1414
@layer {
1378
- @layer foo { /* layer 1 */ }
1415
+ @layer foo { /* layer 1 */ }
1379
1416
}
1380
1417
@layer {
1381
- @layer foo { /* layer 2 */ }
1418
+ @layer foo { /* layer 2 */ }
1382
1419
}
1383
1420
</pre>
1384
1421
</div>
0 commit comments