Condition
Обычное: побеждает более поздний слой
Calculation result
Established
Input parameters
What we are finding
declaration is sorted before the other by the cascade
Input facts
declaration is among the declarations the case records
d: l14declaration belongs to a style sheet that currently applies to this document
d: l14every conditional rule qualifying the declaration has a true condition
d: l14the declaration's property is a known property name
d: l14the declaration's value matches the syntax for that property
d: l14declaration belongs to a style rule whose selector matches the element
d: l14e: targetdeclaration declares this property
d: l14p: colordeclaration is sourced from this encapsulation context
d: l14encapsulation: light-domspecificity of the style rule the declaration appears in, as computed by the Selectors module
d: l14a: 0b: 0c: 1position of the declaration in document order
d: l14position: 1declaration has this cascade origin
d: l14origin: Author Origin: style sheets specified for a source document according to the conventions of the document languagedeclaration is mapped by means of a style rule selector
d: l14declaration is explicitly assigned to this cascade layer
d: l14layer: themedeclaration is among the declarations the case records
d: r14declaration belongs to a style sheet that currently applies to this document
d: r14every conditional rule qualifying the declaration has a true condition
d: r14the declaration's property is a known property name
d: r14the declaration's value matches the syntax for that property
d: r14declaration belongs to a style rule whose selector matches the element
d: r14e: targetdeclaration declares this property
d: r14p: colordeclaration is sourced from this encapsulation context
d: r14encapsulation: light-domspecificity of the style rule the declaration appears in, as computed by the Selectors module
d: r14a: 0b: 0c: 1position of the declaration in document order
d: r14position: 2declaration has this cascade origin
d: r14origin: Author Origin: style sheets specified for a source document according to the conventions of the document languagedeclaration is mapped by means of a style rule selector
d: r14declaration is explicitly assigned to this cascade layer
d: r14layer: resetlayer is declared using a @layer block at-rule
layer: resetlayer is not defined inside a conditional group rule
layer: resetthe first layer is first declared before the second in the layer order of its origin and context
early: resetlate: themelayer is declared using a @layer block at-rule
layer: themelayer is not defined inside a conditional group rule
layer: theme
Package: Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан
Additional details
- Include proof
- Yes
Original data · JSON
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:d:r14"
],
"facts": [
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "declaration_recorded"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "in_applicable_style_sheet"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "qualifying_conditions_true"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "property_is_known"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "value_matches_property_syntax"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:element:target"
],
"predicate": "selector_matches"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:property:color"
],
"predicate": "declares_property"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:context:light-dom"
],
"predicate": "declaration_context"
},
{
"args": [
"urn:case:css:d:l14",
0,
0,
1
],
"predicate": "specificity"
},
{
"args": [
"urn:case:css:d:l14",
1
],
"predicate": "document_order"
},
{
"args": [
"urn:case:css:d:l14",
"AuthorOrigin"
],
"predicate": "declaration_origin"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "mapped_by_style_rule"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:layer:theme"
],
"predicate": "assigned_to_layer"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "declaration_recorded"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "in_applicable_style_sheet"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "qualifying_conditions_true"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "property_is_known"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "value_matches_property_syntax"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:element:target"
],
"predicate": "selector_matches"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:property:color"
],
"predicate": "declares_property"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:context:light-dom"
],
"predicate": "declaration_context"
},
{
"args": [
"urn:case:css:d:r14",
0,
0,
1
],
"predicate": "specificity"
},
{
"args": [
"urn:case:css:d:r14",
2
],
"predicate": "document_order"
},
{
"args": [
"urn:case:css:d:r14",
"AuthorOrigin"
],
"predicate": "declaration_origin"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "mapped_by_style_rule"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:layer:reset"
],
"predicate": "assigned_to_layer"
},
{
"args": [
"urn:case:css:layer:reset"
],
"predicate": "declared_by_layer_block"
},
{
"args": [
"urn:case:css:layer:reset"
],
"predicate": "declared_outside_conditional_group"
},
{
"args": [
"urn:case:css:layer:reset",
"urn:case:css:layer:theme"
],
"predicate": "first_declared_before"
},
{
"args": [
"urn:case:css:layer:theme"
],
"predicate": "declared_by_layer_block"
},
{
"args": [
"urn:case:css:layer:theme"
],
"predicate": "declared_outside_conditional_group"
}
],
"kind": "truth",
"legalTime": "2026-09-06",
"package": "w3c-css-cascade",
"predicate": "wins_cascade",
"proof": true
}Why this resultApplied rules and conditions
Derivation path53 steps
- 1case fact
declaration is among the declarations the case records
d: urn:case:css:d:l14
- 2case fact
declaration has this cascade origin
d: urn:case:css:d:l14; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language
- 3case fact
declaration is mapped by means of a style rule selector
d: urn:case:css:d:l14
- 4case fact
declaration is explicitly assigned to this cascade layer
d: urn:case:css:d:l14; layer: urn:case:css:layer:theme
- 5rule
Section 6.4.3. Declarations within each origin and context can be explicitly assigned to a cascade layer
declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:l14; layer: urn:case:css:layer:theme
sec. 6_4_3, sec. 6_1
Identifier
urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer - 6case fact
declaration is among the declarations the case records
d: urn:case:css:d:r14
- 7case fact
declaration belongs to a style sheet that currently applies to this document
d: urn:case:css:d:r14
- 8case fact
every conditional rule qualifying the declaration has a true condition
d: urn:case:css:d:r14
- 9case fact
the declaration's property is a known property name
d: urn:case:css:d:r14
- 10case fact
the declaration's value matches the syntax for that property
d: urn:case:css:d:r14
- 11rule
Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property
declaration is syntactically valid: d: urn:case:css:d:r14
sec. 5
Identifier
urn:w3c:clir:css-cascade#SyntacticallyValid - 12case fact
declaration belongs to a style rule whose selector matches the element
d: urn:case:css:d:r14; e: urn:case:css:element:target
- 13rule
Section 5. A declaration applies to an element when all four filtering conditions hold
declaration applies to the element: d: urn:case:css:d:r14; e: urn:case:css:element:target
sec. 5
Identifier
urn:w3c:clir:css-cascade#DeclarationApplies - 14case fact
declaration belongs to a style sheet that currently applies to this document
d: urn:case:css:d:l14
- 15case fact
declaration declares this property
d: urn:case:css:d:r14; p: urn:case:css:property:color
- 16rule
Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element
declaration contributes a declared value for this property on this element: d: urn:case:css:d:r14; e: urn:case:css:element:target; p: urn:case:css:property:color
sec. 4_1, sec. 4
Identifier
urn:w3c:clir:css-cascade#DeclaredValueContributed - 17case fact
declaration is sourced from this encapsulation context
d: urn:case:css:d:r14; encapsulation: urn:case:css:context:light-dom
- 18case fact
declaration has this cascade origin
d: urn:case:css:d:r14; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language
- 19case fact
declaration is mapped by means of a style rule selector
d: urn:case:css:d:r14
- 20case fact
declaration is explicitly assigned to this cascade layer
d: urn:case:css:d:r14; layer: urn:case:css:layer:reset
- 21rule
Section 6.4.3. Declarations within each origin and context can be explicitly assigned to a cascade layer
declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:r14; layer: urn:case:css:layer:reset
sec. 6_4_3, sec. 6_1
Identifier
urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer - 22case fact
layer is declared using a @layer block at-rule
layer: urn:case:css:layer:reset
- 23rule
Section 6.4.1. A cascade layer can be declared using a @layer block at-rule, assigning its child style rules into that layer
layer is an explicitly declared cascade layer: layer: urn:case:css:layer:reset
sec. 6_4_1
Identifier
urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock - 24case fact
layer is not defined inside a conditional group rule
layer: urn:case:css:layer:reset
- 25rule
Section 6.4.3. A layer not defined inside a conditional group rule contributes to the layer order
layer contributes to the layer order: layer: urn:case:css:layer:reset
sec. 6_4_3
Identifier
urn:w3c:clir:css-cascade#TopLevelLayerContributes - 26case fact
the first layer is first declared before the second in the layer order of its origin and context
early: urn:case:css:layer:reset; late: urn:case:css:layer:theme
- 27case fact
every conditional rule qualifying the declaration has a true condition
d: urn:case:css:d:l14
- 28case fact
layer is declared using a @layer block at-rule
layer: urn:case:css:layer:theme
- 29rule
Section 6.4.1. A cascade layer can be declared using a @layer block at-rule, assigning its child style rules into that layer
layer is an explicitly declared cascade layer: layer: urn:case:css:layer:theme
sec. 6_4_1
Identifier
urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock - 30case fact
layer is not defined inside a conditional group rule
layer: urn:case:css:layer:theme
- 31rule
Section 6.4.3. A layer not defined inside a conditional group rule contributes to the layer order
layer contributes to the layer order: layer: urn:case:css:layer:theme
sec. 6_4_3
Identifier
urn:w3c:clir:css-cascade#TopLevelLayerContributes - 32rule
Section 6.4.3. Cascade layers are sorted by the order in which they first are declared
the first layer comes before the second in the layer order: early: urn:case:css:layer:reset; late: urn:case:css:layer:theme
sec. 6_4_3
Identifier
urn:w3c:clir:css-cascade#ContributingLayersKeepDeclarationOrder - 33case fact
the declaration's property is a known property name
d: urn:case:css:d:l14
- 34case fact
the declaration's value matches the syntax for that property
d: urn:case:css:d:l14
- 35rule
Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property
declaration is syntactically valid: d: urn:case:css:d:l14
sec. 5
Identifier
urn:w3c:clir:css-cascade#SyntacticallyValid - 36case fact
declaration belongs to a style rule whose selector matches the element
d: urn:case:css:d:l14; e: urn:case:css:element:target
- 37rule
Section 5. A declaration applies to an element when all four filtering conditions hold
declaration applies to the element: d: urn:case:css:d:l14; e: urn:case:css:element:target
sec. 5
Identifier
urn:w3c:clir:css-cascade#DeclarationApplies - 38case fact
declaration declares this property
d: urn:case:css:d:l14; p: urn:case:css:property:color
- 39rule
Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element
declaration contributes a declared value for this property on this element: d: urn:case:css:d:l14; e: urn:case:css:element:target; p: urn:case:css:property:color
sec. 4_1, sec. 4
Identifier
urn:w3c:clir:css-cascade#DeclaredValueContributed - 40rule
Section 6. The cascade sorts the declared values for a given property on a given element against each other
two declarations are sorted against each other by the cascade: first: urn:case:css:d:l14; second: urn:case:css:d:r14
sec. 6, sec. 6_1
Identifier
urn:w3c:clir:css-cascade#Comparable - 41case fact
declaration is sourced from this encapsulation context
d: urn:case:css:d:l14; encapsulation: urn:case:css:context:light-dom
- 42origin not recorded
band occupies this position in the origin-and-importance precedence list
band: Normal author declarations; rank: 60
- 43origin not recorded
the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important
not the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important: d: urn:case:css:d:l14
- 44rule
Section 6.3. All other declarations are normal (non-important)
declaration is normal (non-important): d: urn:case:css:d:l14
sec. 6_3
Identifier
urn:w3c:clir:css-cascade#NormalDeclaration - 45rule
Section 6.1. Normal author declarations occupy the sixth step of the precedence list
declaration belongs to this step of the origin-and-importance list: d: urn:case:css:d:l14; band: Normal author declarations
sec. 6_1, sec. 6_2
Identifier
urn:w3c:clir:css-cascade#NormalAuthorBand - 46origin not recorded
the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important
not the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important: d: urn:case:css:d:r14
- 47rule
Section 6.3. All other declarations are normal (non-important)
declaration is normal (non-important): d: urn:case:css:d:r14
sec. 6_3
Identifier
urn:w3c:clir:css-cascade#NormalDeclaration - 48rule
Section 6.1. Normal author declarations occupy the sixth step of the precedence list
declaration belongs to this step of the origin-and-importance list: d: urn:case:css:d:r14; band: Normal author declarations
sec. 6_1, sec. 6_2
Identifier
urn:w3c:clir:css-cascade#NormalAuthorBand - 49rule
Section 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies
origin and importance did not separate the declarations: first: urn:case:css:d:l14; second: urn:case:css:d:r14
sec. 6_1
Identifier
urn:w3c:clir:css-cascade#OriginAndImportanceTied - 50rule
Section 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies
encapsulation context did not separate the declarations: first: urn:case:css:d:l14; second: urn:case:css:d:r14
sec. 6_1
Identifier
urn:w3c:clir:css-cascade#ContextTied - 51rule
Section 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies
element-attached styles did not separate the declarations: first: urn:case:css:d:l14; second: urn:case:css:d:r14
sec. 6_1
Identifier
urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped - 52rule
Section 6.1, Layers. For normal rules the declaration whose cascade layer is last wins
declaration is sorted before the other by the cascade: winner: urn:case:css:d:l14; loser: urn:case:css:d:r14
sec. 6_1, sec. 6_4
Identifier
urn:w3c:clir:css-cascade#LayerDecidesForNormal - 53query
Query evaluation
verified by the engine: 23 · case fact: 27 · origin not recorded: 3 · Full graph: 84 nodes
Steps of the saved proof from the case facts to the answer. Formulas are shown as written in the norm with bound values substituted; the page recomputes nothing.
Basis of this answer
Rules on the saved proof path for this answer.
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан
Section 6. The cascade sorts the declared values for a given property on a given element against each other
Identifier
urn:w3c:clir:css-cascade#ComparableSection 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies
Identifier
urn:w3c:clir:css-cascade#ContextTiedSection 6.4.3. Cascade layers are sorted by the order in which they first are declared
Identifier
urn:w3c:clir:css-cascade#ContributingLayersKeepDeclarationOrderSection 5. A declaration applies to an element when all four filtering conditions hold
Identifier
urn:w3c:clir:css-cascade#DeclarationAppliesSection 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element
Identifier
urn:w3c:clir:css-cascade#DeclaredValueContributedSection 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies
Identifier
urn:w3c:clir:css-cascade#ElementAttachedTiedBothMappedSection 6.4.1. A cascade layer can be declared using a @layer block at-rule, assigning its child style rules into that layer
Identifier
urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlockSection 6.4.3. Declarations within each origin and context can be explicitly assigned to a cascade layer
Identifier
urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayerSection 6.1, Layers. For normal rules the declaration whose cascade layer is last wins
Identifier
urn:w3c:clir:css-cascade#LayerDecidesForNormalSection 6.1. Normal author declarations occupy the sixth step of the precedence list
Identifier
urn:w3c:clir:css-cascade#NormalAuthorBandSection 6.3. All other declarations are normal (non-important)
Identifier
urn:w3c:clir:css-cascade#NormalDeclarationSection 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies
Identifier
urn:w3c:clir:css-cascade#OriginAndImportanceTiedSection 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property
Identifier
urn:w3c:clir:css-cascade#SyntacticallyValidSection 6.4.3. A layer not defined inside a conditional group rule contributes to the layer order
Identifier
urn:w3c:clir:css-cascade#TopLevelLayerContributes
Other rules in the evaluation8
Applied in the overall evaluation, but not on the proof path for this answer.
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан
Section 4.2. There is a cascaded value when some declaration wins the cascade for this property on this element
Identifier
urn:w3c:clir:css-cascade#CascadeYieldsValueSection 4.2. The cascaded value is the declared value that wins the cascade: the one no competing declaration outranks
Identifier
urn:w3c:clir:css-cascade#CascadedValueIsTheUnbeatenDeclarationSection 6.4.3. Unlayered style rules are added to an implicit outer layer which has higher priority than (comes after) the explicit layers
Identifier
urn:w3c:clir:css-cascade#ExplicitLayersComeBeforeTheImplicitOuterLayerSection 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies
Identifier
urn:w3c:clir:css-cascade#LayerTiedSection 4.2. A declaration is outranked when some competing declaration wins the cascade over it
Identifier
urn:w3c:clir:css-cascade#OutrankedBySomeSection 7.3.4. For the purpose of revert, a declaration in the author origin belongs to the author origin
Identifier
urn:w3c:clir:css-cascade#RevertOriginIsAuthorForAuthorOriginSection 6.1, Specificity. The declarations have equal specificity: the next criterion applies
Identifier
urn:w3c:clir:css-cascade#SpecificityTiedSection 4.3. In many cases the specified value is the cascaded value: when the cascade produced one and it is not a CSS-wide keyword
Identifier
urn:w3c:clir:css-cascade#SpecifiedValueIsCascadedValue
Derived result for this query
declaration is sorted before the other by the cascade
winner: l14loser: r14
Other derived facts37
for the purpose of the revert keyword the declaration belongs to the author origin
d: l14declaration belongs to this cascade layer for the purpose of the cascade
d: l14layer: themedeclaration is syntactically valid
d: r14declaration applies to the element
d: r14e: targetdeclaration contributes a declared value for this property on this element
d: r14e: targetp: colortwo declarations are sorted against each other by the cascade
first: r14second: r14for the purpose of the revert keyword the declaration belongs to the author origin
d: r14declaration belongs to this cascade layer for the purpose of the cascade
d: r14layer: resetdeclaration is syntactically valid
d: l14declaration applies to the element
d: l14e: targetdeclaration contributes a declared value for this property on this element
d: l14e: targetp: colordeclaration is the cascaded value for this property on this element
d: l14e: targetp: colortwo declarations are sorted against each other by the cascade
first second l14 r14 r14 l14 l14 l14 the specified value is the cascaded value itself
d: l14e: targetp: colordeclaration is normal (non-important)
d: l14declaration belongs to this step of the origin-and-importance list
d: l14band: Normal author declarationsorigin and importance did not separate the declarations
first: l14second: l14encapsulation context did not separate the declarations
first: l14second: l14element-attached styles did not separate the declarations
first: l14second: l14cascade layers did not separate the declarations
first: l14second: l14specificity did not separate the declarations
first: l14second: l14declaration is normal (non-important)
d: r14declaration belongs to this step of the origin-and-importance list
d: r14band: Normal author declarationsorigin and importance did not separate the declarations
first: r14second: r14encapsulation context did not separate the declarations
first: r14second: r14element-attached styles did not separate the declarations
first: r14second: r14cascade layers did not separate the declarations
first: r14second: r14origin and importance did not separate the declarations
first: r14second: l14encapsulation context did not separate the declarations
first: r14second: l14element-attached styles did not separate the declarations
first: r14second: l14origin and importance did not separate the declarations
first: l14second: r14encapsulation context did not separate the declarations
first: l14second: r14element-attached styles did not separate the declarations
first: l14second: r14some competing declaration wins the cascade over this one
d: r14specificity did not separate the declarations
first: r14second: r14
| d |
|---|
| l14 |
| r14 |
| d | layer |
|---|---|
| l14 | urn:case:css:layer:theme |
| r14 | urn:case:css:layer:reset |
| d |
|---|
| r14 |
| l14 |
| d | e |
|---|---|
| r14 | urn:case:css:element:target |
| l14 | urn:case:css:element:target |
| d | e | p |
|---|---|---|
| r14 | urn:case:css:element:target | urn:case:css:property:color |
| l14 | urn:case:css:element:target | urn:case:css:property:color |
| first | second |
|---|---|
| r14 | r14 |
| l14 | r14 |
| r14 | l14 |
| l14 | l14 |
| d | e | p |
|---|---|---|
| l14 | urn:case:css:element:target | urn:case:css:property:color |
| d | e | p |
|---|---|---|
| l14 | urn:case:css:element:target | urn:case:css:property:color |
| d |
|---|
| l14 |
| r14 |
| d | band |
|---|---|
| l14 | Normal author declarations |
| r14 | Normal author declarations |
| first | second |
|---|---|
| l14 | l14 |
| r14 | r14 |
| r14 | l14 |
| l14 | r14 |
| first | second |
|---|---|
| l14 | l14 |
| r14 | r14 |
| r14 | l14 |
| l14 | r14 |
| first | second |
|---|---|
| l14 | l14 |
| r14 | r14 |
| r14 | l14 |
| l14 | r14 |
| first | second |
|---|---|
| l14 | l14 |
| r14 | r14 |
| first | second |
|---|---|
| l14 | l14 |
| r14 | r14 |
| winner | loser |
|---|---|
| l14 | r14 |
| d |
|---|
| r14 |
8 further derived facts are not shown: the engine keeps the ones relevant to the question in its compact answer. The full list is in the calculation JSON below.
Proof graph
in the list
not in the list (explicit negative by closure)
- urn:case:css:d:l14
- urn:case:css:d:r14
The list is closed by a §70 declaration: a missing record in the snapshot yields an explicit negative with an anti-membership certificate (§231.1). The lists are proof-graph nodes as recorded by the evaluation.
Proof nodes: 84 · assertion 32, rule_application 46, candidate_closure 5, query_evaluation 1
This block is too large for inline viewing. It is included in full in the document JSON, without truncation.
Download JSON ↓Calendar and proof identifiers
- Proof reference
- mcp
Original reasoning · JSON
This block is too large for inline viewing. It is included in full in the document JSON, without truncation.
Download JSON ↓SourcesExcerpts: 15
section/4
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
4. Value Processing Once a user agent has parsed a document and constructed a document tree, it must assign, to every element in the tree, and correspondingly to every box in the formatting structure, a value to every property that applies to the target media type. The final value of a CSS property for a given element or box is the result of a multi-step calculation: First, all the declared values applied to an element are collected, for each property on each element. There may be zero or many declared values applied to the element. Cascading yields the cascaded value. There is at most one cascaded value per property per element. Defaulting yields the specified value. Every element has exactly one specified value per property. Resolving value dependencies yields the computed value. Every element has exactly one computed value per property. Formatting the document yields the used value. An element only has a used value for a given property if that property applies to the element. Finally, the used value is transformed to the actual value based on constraints of the display environment. As with the used value, there may or may not be an actual value for a given property on an element. Elements that are not connected or are not part of the document’s flattened element tree do not participate in CSS value processing, and do not have declared, cascaded, specified, computed, used, or actual values, even if they potentially have style declarations assigned to them (for example, by a style attribute).
Original data · JSON
{
"contentHash": "sha256:1032e4306c7274d3ee0bbf2523002057a0add9365c58f88f61d8982aa5b8b8bc",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S4",
"kind": "fragment",
"locator": "section/4",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:51b78361fbdaeb78dfb2656060149b495574c0a69c5117d568c79834578936a7",
"language": "en",
"status": "official",
"text": "4. Value Processing\nOnce a user agent has parsed a document and constructed a document tree,\nit must assign,\nto every element in the tree,\nand correspondingly to every box in the formatting structure,\na value to every property that applies to the target media type.\nThe final value of a CSS property for a given element or box\nis the result of a multi-step calculation:\nFirst, all the declared values applied to an element are collected,\nfor each property on each element.\nThere may be zero or many declared values applied to the element.\nCascading yields the cascaded value.\nThere is at most one cascaded value per property per element.\nDefaulting yields the specified value.\nEvery element has exactly one specified value per property.\nResolving value dependencies yields the computed value.\nEvery element has exactly one computed value per property.\nFormatting the document yields the used value.\nAn element only has a used value for a given property\nif that property applies to the element.\nFinally, the used value is transformed to the actual value based on constraints of the display environment.\nAs with the used value, there may or may not be an actual value for a given property on an element.\nElements that are not connected or are not part of the document’s flattened element tree do not participate in CSS value processing,\nand do not have declared, cascaded, specified, computed, used, or actual values,\neven if they potentially have style declarations assigned to them\n(for example, by a style attribute)."
}
]
}section/4_1
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
4.1. Declared Values Each property declaration applied to an element contributes a declared value for that property associated with the element. See Filtering Declarations for details. These values are then processed by the cascade to choose a single “winning value”.
Original data · JSON
{
"contentHash": "sha256:d3eb77b85d6f380950eabb8264aa1292b4b06e78160c509b51a08cd11ef66b75",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S4_1",
"kind": "fragment",
"locator": "section/4_1",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:72a3f831fcd5599e111a8de28258297f64f0b10d33b7985e18764d786198cbe6",
"language": "en",
"status": "official",
"text": "4.1. Declared Values\nEach property declaration applied to an element contributes a declared value for that property\nassociated with the element.\nSee Filtering Declarations for details.\nThese values are then processed by the cascade to choose a single “winning value”."
}
]
}section/4_2
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
4.2. Cascaded Values The cascaded value represents the result of the cascade: it is the declared value that wins the cascade (is sorted first in the output of the cascade). If the output of the cascade is an empty list, there is no cascaded value.
Original data · JSON
{
"contentHash": "sha256:680967c0335bc170bb1d3eed857cbdf65e0844c28cdb882b06f955b18b290de3",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S4_2",
"kind": "fragment",
"locator": "section/4_2",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:728fbf4896aa8d75ffa250decd97924c873b11dbb4feb9298215b8b007ad9772",
"language": "en",
"status": "official",
"text": "4.2. Cascaded Values\nThe cascaded value represents the result of the cascade:\nit is the declared value that wins the cascade\n(is sorted first in the output of the cascade).\nIf the output of the cascade is an empty list,\nthere is no cascaded value."
}
]
}section/4_3
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
4.3. Specified Values The specified value is the value of a given property that the style sheet authors intended for that element. It is the result of putting the cascaded value through the defaulting processes, guaranteeing that a specified value exists for every property on every element. In many cases, the specified value is the cascaded value. However, if there is no cascaded value at all, the specified value is defaulted. The CSS-wide keywords are handled specially when they are the cascaded value of a property, setting the specified value as required by that keyword, see § 7.3 Explicit Defaulting.
Original data · JSON
{
"contentHash": "sha256:18572a052bae5476779611907414d7f2bb328c5a50cac975f43175a6a8b65832",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S4_3",
"kind": "fragment",
"locator": "section/4_3",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:2eef2e76916e9205133507a43183a478b65d604a0290247af7c8b16590ce4fa1",
"language": "en",
"status": "official",
"text": "4.3. Specified Values\nThe specified value is\nthe value of a given property that the style sheet authors intended for that element.\nIt is the result of putting the cascaded value through the defaulting processes,\nguaranteeing that a specified value exists for every property on every element.\nIn many cases, the specified value is the cascaded value.\nHowever, if there is no cascaded value at all,\nthe specified value is defaulted.\nThe CSS-wide keywords are handled specially\nwhen they are the cascaded value of a property,\nsetting the specified value as required by that keyword,\nsee § 7.3 Explicit Defaulting."
}
]
}section/5
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
5. Filtering In order to find the declared values, implementations must first identify all declarations that apply to each element. A declaration applies to an element if: It belongs to a style sheet that currently applies to this document. It is not qualified by a conditional rule [CSS-CONDITIONAL-3] with a false condition. It belongs to a style rule whose selector matches the element. [SELECT] (Taking scoping into account, if necessary.) It is syntactically valid: the declaration’s property is a known property name, and the declaration’s value matches the syntax for that property. The values of the declarations that apply form, for each property on each element, a list of declared values. The next section, the cascade, prioritizes these lists.
Original data · JSON
{
"contentHash": "sha256:4250c835138ba865333b025adf054873db60d185e1cd5c5f9be5a8802f18cbb8",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S5",
"kind": "fragment",
"locator": "section/5",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:b845fde7eebcda9f0d16fb5b642544b38844d58b48c032bbd643d1b6c22ac12c",
"language": "en",
"status": "official",
"text": "5. Filtering\nIn order to find the declared values,\nimplementations must first identify all declarations that apply to each element.\nA declaration applies to an element if:\nIt belongs to a style sheet that currently applies to this document.\nIt is not qualified by a conditional rule [CSS-CONDITIONAL-3] with a false condition.\nIt belongs to a style rule whose selector matches the element. [SELECT] (Taking scoping into account, if necessary.)\nIt is syntactically valid:\nthe declaration’s property is a known property name,\nand the declaration’s value matches the syntax for that property.\nThe values of the declarations that apply form,\nfor each property on each element,\na list of declared values.\nThe next section,\nthe cascade,\nprioritizes these lists."
}
]
}section/6
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
6. Cascading The cascade takes an unordered list of declared values for a given property on a given element, sorts them by their declaration’s precedence as determined below, and outputs a single cascaded value.
Original data · JSON
{
"contentHash": "sha256:da05d1967ed9d40f006a13cba7727b772a337fbb1bfe6b33fec74b6263ac4082",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S6",
"kind": "fragment",
"locator": "section/6",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:4df89230801a772d0581dcf402d0a775977299ee375b80984bc1b6e8e9ec4730",
"language": "en",
"status": "official",
"text": "6. Cascading\nThe cascade takes an unordered list of declared values for a given property on a given element,\nsorts them by their declaration’s precedence as determined below,\nand outputs a single cascaded value."
}
]
}section/6_1
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
6.1. Cascade Sorting Order The cascade sorts declarations according to the following criteria, in descending order of priority: Origin and Importance The origin of a declaration is based on where it comes from and its importance is whether or not it is declared with !important (see below). The precedence of the various origins is, in descending order: Transition declarations [css-transitions-1] Important user agent declarations Important user declarations Important author declarations Animation declarations [css-animations-1] Normal author declarations Normal user declarations Normal user agent declarations Declarations from origins earlier in this list win over declarations from later origins. Context A document language can provide for blending declarations sourced from different encapsulation contexts, such as the nested tree contexts of shadow trees in the [DOM]. When comparing two declarations that are sourced from different encapsulation contexts, then for normal rules the declaration from the outer context wins, and for important rules the declaration from the inner context wins. For this purpose, [DOM] tree contexts are considered to be nested in shadow-including tree order. Note: This effectively means that normal declarations belonging to an encapsulation context can set defaults that are easily overridden by the outer context, while important declarations belonging to an encapsulation context can enforce requirements that cannot be overridden by the outer context. Element-Attached Styles Separately for normal and important declarations, declarations that are attached directly to an element (such as the contents of a style attribute) rather than indirectly mapped by means of a style rule selector take precedence over declarations the same importance that are mapped via style rule. See [css-style-attr]. Note: Non-CSS presentational hints (such as presentational markup) are handled separately, see § 6.5 Precedence of Non-CSS Presentational Hints. Layers Declarations within each origin and context can be explicitly assigned to a cascade layer. For the purpose of this step, any declaration not assigned to an explicit layer is added to an implicit final layer. Cascade layers (like declarations) are ordered by order of appearance. When comparing declarations that belong to different layers, then for normal rules the declaration whose cascade layer is last wins, and for important rules the declaration whose cascade layer is first wins. Note: This follows the same logic used for layering normal and important origins, so that the !important flag maintains the same “override” purpose in both settings. Specificity The Selectors module [SELECT] describes how to compute the specificity of a selector. Each declaration has the same specificity as the style rule it appears in. The declaration with the highest specificity wins. Order of Appearance The last declaration in document order wins. For this purpose: Style sheets are ordered as in final CSS style sheets. Declarations from imported style sheets are ordered as if their style sheets were substituted in place of the @import rule. Declarations from style sheets independently linked by the originating document are treated as if they were concatenated in linking order, as determined by the host document language. Declarations from style attributes are ordered according to the document order of the element the style attribute appears on, and are all placed after any style sheets. The output of the cascade is a (potentially empty) sorted list of declared values for each property on each element.
Original data · JSON
{
"contentHash": "sha256:62ff4952c56b4dcbc0912c044a09065a4f8e433b7abc2a86a833401fd4b9984b",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S6_1",
"kind": "fragment",
"locator": "section/6_1",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:b479a434611fc00c1da90099fa4c87ef1a3edb45ff9b0594585cb95c6d6cdb9d",
"language": "en",
"status": "official",
"text": "6.1. Cascade Sorting Order\nThe cascade sorts declarations according to the following criteria,\nin descending order of priority:\nOrigin and Importance\nThe origin of a declaration is based on where it comes from\nand its importance is\nwhether or not it is declared with !important (see below).\nThe precedence of the various origins is, in descending order:\nTransition declarations [css-transitions-1]\nImportant user agent declarations\nImportant user declarations\nImportant author declarations\nAnimation declarations [css-animations-1]\nNormal author declarations\nNormal user declarations\nNormal user agent declarations\nDeclarations from origins earlier in this list win over declarations from later origins.\nContext\nA document language can provide for blending declarations sourced\nfrom different encapsulation contexts,\nsuch as the nested tree contexts of shadow trees in the [DOM].\nWhen comparing two declarations\nthat are sourced from different encapsulation contexts,\nthen for normal rules\nthe declaration from the outer context wins,\nand for important rules\nthe declaration from the inner context wins.\nFor this purpose, [DOM] tree contexts are considered to be nested\nin shadow-including tree order.\nNote: This effectively means that normal declarations belonging to an encapsulation context can set defaults that are easily overridden by the outer context,\nwhile important declarations belonging to an encapsulation context can enforce requirements that cannot be overridden by the outer context.\nElement-Attached Styles\nSeparately for normal and important declarations,\ndeclarations that are attached directly to an element\n(such as the contents of a style attribute)\nrather than indirectly mapped by means of a style rule selector\ntake precedence over declarations the same importance that are mapped via style rule.\nSee [css-style-attr].\nNote: Non-CSS presentational hints (such as presentational markup)\nare handled separately,\nsee § 6.5 Precedence of Non-CSS Presentational Hints.\nLayers\nDeclarations within each origin and context can be explicitly assigned to a cascade layer.\nFor the purpose of this step,\nany declaration not assigned to an explicit layer\nis added to an implicit final layer.\nCascade layers (like declarations) are ordered by order of appearance.\nWhen comparing declarations that belong to different layers,\nthen for normal rules the declaration whose cascade layer is last wins,\nand for important rules the declaration whose cascade layer is first wins.\nNote: This follows the same logic used for layering normal and important origins,\nso that the !important flag maintains the same “override” purpose in both settings.\nSpecificity\nThe Selectors module [SELECT] describes how to compute the specificity of a selector.\nEach declaration has the same specificity as the style rule it appears in.\nThe declaration with the highest specificity wins.\nOrder of Appearance\nThe last declaration in document order wins.\nFor this purpose:\nStyle sheets are ordered as in final CSS style sheets.\nDeclarations from imported style sheets are ordered as if their style sheets were substituted in place of the @import rule.\nDeclarations from style sheets independently linked by the originating document\nare treated as if they were concatenated in linking order,\nas determined by the host document language.\nDeclarations from style attributes\nare ordered according to the document order of the element the style attribute appears on,\nand are all placed after any style sheets.\nThe output of the cascade is a (potentially empty) sorted list of declared values for each property on each element."
}
]
}section/6_2
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
6.2. Cascading Origins Each style rule has a cascade origin, which determines where it enters the cascade. CSS defines three core origins: Author Origin The author specifies style sheets for a source document according to the conventions of the document language. For instance, in HTML, style sheets may be included in the document or linked externally. User Origin The user may be able to specify style information for a particular document. For example, the user may specify a file that contains a style sheet or the user agent may provide an interface that generates a user style sheet (or behaves as if it did). User-Agent Origin Conforming user agents must apply a default style sheet (or behave as if they did). A user agent’s default style sheet should present the elements of the document language in ways that satisfy general presentation expectations for the document language (e.g., for visual browsers, the EM element in HTML is presented using an italic font). See e.g. the HTML user agent style sheet. [HTML] Extensions to CSS define the following additional origins: Animation Origin CSS Animations [css-animations-1] generate “virtual” rules representing their effects when running. Transition Origin Like CSS Animations, CSS Transitions [css-transitions-1] generate “virtual” rules representing their effects when running.
Original data · JSON
{
"contentHash": "sha256:6b324eff99852d174a60d90a89f75215e7e87210bf5a156817effa2ddc4c8294",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S6_2",
"kind": "fragment",
"locator": "section/6_2",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:f221ab39ebcc687e320a2336486650aa7543c9dfa742283a4214efe27251040b",
"language": "en",
"status": "official",
"text": "6.2. Cascading Origins\nEach style rule has a cascade origin,\nwhich determines where it enters the cascade.\nCSS defines three core origins:\nAuthor Origin\nThe author specifies style sheets for a source document\naccording to the conventions of the document language.\nFor instance, in HTML,\nstyle sheets may be included in the document or linked externally.\nUser Origin\nThe user may be able to specify style information for a particular document.\nFor example, the user may specify a file that contains a style sheet\nor the user agent may provide an interface that generates a user style sheet\n(or behaves as if it did).\nUser-Agent Origin\nConforming user agents must apply a default style sheet\n(or behave as if they did).\nA user agent’s default style sheet should present the elements of the document language\nin ways that satisfy general presentation expectations for the document language\n(e.g., for visual browsers, the EM element in HTML is presented using an italic font).\nSee e.g. the HTML user agent style sheet. [HTML]\nExtensions to CSS define the following additional origins:\nAnimation Origin\nCSS Animations [css-animations-1] generate “virtual” rules representing their effects when running.\nTransition Origin\nLike CSS Animations, CSS Transitions [css-transitions-1] generate “virtual” rules representing their effects when running."
}
]
}section/6_3
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
6.3. Important Declarations: the !important annotation CSS attempts to create a balance of power between author and user style sheets. By default, rules in an author’s style sheet override those in a user’s style sheet, which override those in the user-agent’s default style sheet. To balance this, a declaration can be marked important, which increases its weight in the cascade and inverts the order of precedence. A declaration is important if it has a !important annotation as defined by [css-syntax-3], i.e. if the last two (non-whitespace, non-comment) tokens in its value are the delimiter token ! followed by the identifier token important. All other declarations are normal (non-important). [hidden] { display: none !important; } An important declaration takes precedence over a normal declaration. Author and user style sheets may contain important declarations, with user-origin important declarations overriding author-origin important declarations. This CSS feature improves accessibility of documents by giving users with special requirements (large fonts, color combinations, etc.) control over presentation. Important declarations from all origins take precedence over animations. This allows authors to override animated values in important cases. (Animated values normally override all other rules.) [css-animations-1] User-agent style sheets may also contain important declarations. These override all author and user declarations. The first rule in the user’s style sheet in the following example contains an !important declaration, which overrides the corresponding declaration in the author’s style sheet. The declaration in the second rule will also win due to being marked !important. However, the third declaration in the user’s style sheet is not !important and will therefore lose to the second rule in the author’s style sheet (which happens to set style on a shorthand property). Also, the third author rule will lose to the second author rule since the second declaration is !important. This shows that !important declarations have a function also within author style sheets. /* From the user’s style sheet */ p { text-indent: 1em !important } p { font-style: italic !important } p { font-size: 18pt } /* From the author’s style sheet */ p { text-indent: 1.5em !important } p { font: normal 12pt sans-serif !important } p { font-size: 24pt } Property Winning value text-indent 1em font-style italic font-size 12pt font-family sans-serif
Original data · JSON
{
"contentHash": "sha256:a024cc8d28c500147dd177f2ffff499875e9f03fa3ea02b21257534cb4120798",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S6_3",
"kind": "fragment",
"locator": "section/6_3",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:bd1317210a37ccf99d61011c32115ad4967f2ab6363881f0514c3dda62a5ba94",
"language": "en",
"status": "official",
"text": "6.3. Important Declarations: the !important annotation\nCSS attempts to create a balance of power between author and user style sheets.\nBy default, rules in an author’s style sheet override those in a user’s style sheet,\nwhich override those in the user-agent’s default style sheet.\nTo balance this, a declaration can be marked important,\nwhich increases its weight in the cascade and inverts the order of precedence.\nA declaration is important if it has a !important annotation as defined by [css-syntax-3],\ni.e. if the last two (non-whitespace, non-comment) tokens\nin its value are the delimiter token ! followed by the identifier token important.\nAll other declarations are normal (non-important).\n[hidden] { display: none !important; }\nAn important declaration takes precedence over a normal declaration.\nAuthor and user style sheets may contain important declarations,\nwith user-origin important declarations\noverriding author-origin important declarations.\nThis CSS feature improves accessibility of documents\nby giving users with special requirements\n(large fonts, color combinations, etc.)\ncontrol over presentation.\nImportant declarations from all origins take precedence over animations.\nThis allows authors to override animated values in important cases.\n(Animated values normally override all other rules.) [css-animations-1]\nUser-agent style sheets may also contain important declarations.\nThese override all author and user declarations.\nThe first rule in the user’s style sheet in the following example contains an !important declaration,\nwhich overrides the corresponding declaration in the author’s style sheet.\nThe declaration in the second rule will also win due to being marked !important.\nHowever, the third declaration in the user’s style sheet is not !important and will therefore lose to the second rule in the author’s style sheet\n(which happens to set style on a shorthand property).\nAlso, the third author rule will lose to the second author rule since the second declaration is !important.\nThis shows that !important declarations have a function also within author style sheets.\n/* From the user’s style sheet */\np { text-indent: 1em !important }\np { font-style: italic !important }\np { font-size: 18pt }\n/* From the author’s style sheet */\np { text-indent: 1.5em !important }\np { font: normal 12pt sans-serif !important }\np { font-size: 24pt }\nProperty\nWinning value\ntext-indent\n1em\nfont-style\nitalic\nfont-size\n12pt\nfont-family\nsans-serif"
}
]
}section/6_4
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
6.4. Cascade Layers In the same way that cascade origins provide a balance of power between user and author styles, cascade layers provide a structured way to organize and balance concerns within a single origin. Rules within a single cascade layer cascade together, without interleaving with style rules outside the layer. Authors can create layers to represent element defaults, third-party libraries, themes, components, overrides, and other styling concerns—and are able to re-order the cascade of layers in an explicit way, without altering selectors or specificity within each layer, or relying on source-order to resolve conflicts across layers. For example, the following generates an explicit reset layer, with lower cascade weight than any unlayered styles: audio { /* specificity of 0,0,1 - implicit (final) layer */ display: flex; } @layer reset { audio[controls] { /* specificity of 0,1,1 - explicit "reset" layer */ display: block; } } The unlayered declarations on the audio element take precedence over the explicitly layered declarations on audio[controls] —even though the unlayered styles have a lower specificity, and come first in the source order. Name-defining at-rules such as @keyframes or @font-face that are defined inside cascade layers also use the layer order when resolving name collisions. For example, authors could override the animation from a framework, by providing keyframes with the same name in a higher-priority layer: /* establish the layer order, so the "override" layer takes precedence */ @layer framework, override; @layer override { @keyframes slide-left { from { translate: 0; } to { translate: -100% 0; } } } @layer framework { @keyframes slide-left { from { margin-left: 0; } to { margin-left: -100%; } } } .sidebar { animation: slide-left 300ms; } In this case the override layer has a higher cascade priority than the framework layer, so slide-left will animate using the translate property rather than margin-left.
Original data · JSON
{
"contentHash": "sha256:0b68d835f967794dc9ca88471f74f480a71436dcf0be1011eedd0229f17b8712",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S6_4",
"kind": "fragment",
"locator": "section/6_4",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:94d9f89eebe1b746e66c075a218c8eac54cec0ed51b4a50b211c631474adb89e",
"language": "en",
"status": "official",
"text": "6.4. Cascade Layers\nIn the same way that cascade origins provide a balance of power\nbetween user and author styles, cascade layers provide a structured way\nto organize and balance concerns within a single origin.\nRules within a single cascade layer cascade together,\nwithout interleaving with style rules outside the layer.\nAuthors can create layers to represent element defaults,\nthird-party libraries, themes, components,\noverrides, and other styling concerns—and are able to re-order the cascade of layers in an explicit way,\nwithout altering selectors or specificity within each layer,\nor relying on source-order to resolve conflicts across layers.\nFor example, the following generates an explicit reset layer,\nwith lower cascade weight than any unlayered styles:\naudio {\n/* specificity of 0,0,1 - implicit (final) layer */\ndisplay: flex;\n}\n@layer reset {\naudio[controls] {\n/* specificity of 0,1,1 - explicit \"reset\" layer */\ndisplay: block;\n}\n}\nThe unlayered declarations on the audio element take precedence\nover the explicitly layered declarations on audio[controls] —even though the unlayered styles have a lower specificity,\nand come first in the source order.\nName-defining at-rules such as @keyframes or @font-face that are defined inside cascade layers also use the layer order when resolving name collisions.\nFor example,\nauthors could override the animation from a framework,\nby providing keyframes with the same name in a higher-priority layer:\n/* establish the layer order, so the \"override\" layer takes precedence */\n@layer framework, override;\n@layer override {\n@keyframes slide-left {\nfrom { translate: 0; }\nto { translate: -100% 0; }\n}\n}\n@layer framework {\n@keyframes slide-left {\nfrom { margin-left: 0; }\nto { margin-left: -100%; }\n}\n}\n.sidebar { animation: slide-left 300ms; }\nIn this case the override layer\nhas a higher cascade priority than the framework layer,\nso slide-left will animate\nusing the translate property rather than margin-left."
}
]
}section/6_4_1
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
6.4.1. Declaring Cascade Layers Cascade layers can be declared: using an @import rule with the layer keyword or layer() function, assigning the contents of the imported file into that layer. using a @layer block at-rule, assigning its child style rules into that layer. using a @layer statement at-rule, declaring a named layer without assigning any rules. Provide an attribute for assigning link or style elements to cascade layers? [Issue #w3c/csswg-drafts#5853]
Original data · JSON
{
"contentHash": "sha256:f73f7da5ab24db1edcfbb517ac720af6ea90b869dea1859d4baf5c4fbeff57bf",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S6_4_1",
"kind": "fragment",
"locator": "section/6_4_1",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:c3b580096f3d74ade16cb2be984ef844a3b1213a1702db95e9140c610621ca23",
"language": "en",
"status": "official",
"text": "6.4.1. Declaring Cascade Layers\nCascade layers can be declared:\nusing an @import rule with the layer keyword or layer() function,\nassigning the contents of the imported file into that layer.\nusing a @layer block at-rule,\nassigning its child style rules into that layer.\nusing a @layer statement at-rule,\ndeclaring a named layer without assigning any rules.\nProvide an attribute for assigning link or style elements to cascade layers? [Issue #w3c/csswg-drafts#5853]"
}
]
}section/6_4_3
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
6.4.3. Layer Ordering Cascade layers are sorted by the order in which they first are declared, with nested layers grouped within their parent layers before any unlayered rules. Given the following layer rules: /* unlayered styles come last in the layer order */ h1 { color: darkslateblue; } @layer reset.type { strong { font-weight: bold; } } @layer framework { .title { font-weight: 100; } @layer theme { h1, h2 { color: maroon; } } } @layer reset { [hidden] { display: none; } } The outer layers are sorted first, with any unlayered style rules added to an implicit outer layer which has higher priority than (comes after) the explicit layers: reset framework (implicit outer layer) Within each layer, nested layers are sorted in appearance order, and style rules without further nesting are similarly added to an implicit sub-layer after the explicitly nested layers: reset.type reset (implicit sub-layer) framework.theme framework (implicit sub-layer) (implicit outer layer) Layers that are defined inside of a conditional group rule do not contribute to the layer order unless the condition is true or unless the conditional group rule can evaluate differently for different elements in the document. Note: Since the layer order is global to the document, any layers defined inside an element-sensitive conditional group rule need to be accommodated when establishing the global layer order, regardless of the rule’s condition. Conditions that are global to the document, however (such as @media and @supports) can accommodate such @layer rules conditionally. For example, the following layer order will depend on which media conditions match: @media (min-width: 30em) { @layer layout { .title { font-size: x-large; } } } @media (prefers-color-scheme: dark) { @layer theme { .title { color: white; } } } @layer theme, layout; If the first media-query matches based on viewport dimensions, then the layout layer will come first in the layer order. If the color-scheme preference query matches, or if neither condition is true, then theme will come first in the layer order. Authors who want to avoid this behavior can establish an explicit ordering of layers in advance, and avoid defining new layers inside conditional rules. Note: Cascade layers are scoped to their origin and context, so the ordering of layers in the light DOM has no impact on the order of identically-named layers in the shadow DOM (and vice versa). Allow authors to explicitly place unlayered styles in the layer order [Issue #6323]
Original data · JSON
{
"contentHash": "sha256:7e326980bfd03ace3a7629bcd6c0159c20288fc7443037f29258c419e7015e72",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S6_4_3",
"kind": "fragment",
"locator": "section/6_4_3",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:423c8d9abc7b4b538a234b0911b2cd098c448661321d0904fc0f1a2c9b4f2012",
"language": "en",
"status": "official",
"text": "6.4.3. Layer Ordering\nCascade layers are sorted\nby the order in which they first are declared,\nwith nested layers grouped within their parent layers\nbefore any unlayered rules.\nGiven the following layer rules:\n/* unlayered styles come last in the layer order */\nh1 { color: darkslateblue; }\n@layer reset.type {\nstrong { font-weight: bold; }\n}\n@layer framework {\n.title { font-weight: 100; }\n@layer theme {\nh1, h2 { color: maroon; }\n}\n}\n@layer reset {\n[hidden] { display: none; }\n}\nThe outer layers are sorted first,\nwith any unlayered style rules\nadded to an implicit outer layer which\nhas higher priority than (comes after) the explicit layers:\nreset\nframework\n(implicit outer layer)\nWithin each layer,\nnested layers are sorted in appearance order,\nand style rules without further nesting\nare similarly added to an implicit sub-layer\nafter the explicitly nested layers:\nreset.type\nreset (implicit sub-layer)\nframework.theme\nframework (implicit sub-layer)\n(implicit outer layer)\nLayers that are defined inside of a conditional group rule do not contribute to the layer order unless the condition is true\nor unless the conditional group rule can evaluate differently\nfor different elements in the document.\nNote: Since the layer order is global to the document,\nany layers defined inside an element-sensitive conditional group rule need to be accommodated when establishing the global layer order,\nregardless of the rule’s condition.\nConditions that are global to the document, however\n(such as @media and @supports)\ncan accommodate such @layer rules conditionally.\nFor example,\nthe following layer order\nwill depend on which media conditions match:\n@media (min-width: 30em) {\n@layer layout {\n.title { font-size: x-large; }\n}\n}\n@media (prefers-color-scheme: dark) {\n@layer theme {\n.title { color: white; }\n}\n}\n@layer theme, layout;\nIf the first media-query matches based on viewport dimensions,\nthen the layout layer will come first in the layer order.\nIf the color-scheme preference query matches,\nor if neither condition is true,\nthen theme will come first in the layer order.\nAuthors who want to avoid this behavior can establish\nan explicit ordering of layers in advance,\nand avoid defining new layers inside conditional rules.\nNote: Cascade layers are scoped to their origin and context,\nso the ordering of layers in the light DOM has no impact\non the order of identically-named layers in the shadow DOM\n(and vice versa).\nAllow authors to explicitly place unlayered styles in the layer order [Issue #6323]"
}
]
}section/7
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
7. Defaulting When the cascade does not result in a value, the specified value must be found some other way. Inherited properties draw their defaults from their parent element through inheritance; all other properties take their initial value. Authors can explicitly request inheritance or initialization via the inherit and initial keywords.
Original data · JSON
{
"contentHash": "sha256:f0444555d0fe01d36d5b6350e957503e5bfa9478f992ad952091ee9992d04dab",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S7",
"kind": "fragment",
"locator": "section/7",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:ef9632ae537908328c0990f6ad4fc60fd6e32e5dc47947dfbe31526e1197d966",
"language": "en",
"status": "official",
"text": "7. Defaulting\nWhen the cascade does not result in a value,\nthe specified value must be found some other way. Inherited properties draw their defaults from their parent element through inheritance;\nall other properties take their initial value.\nAuthors can explicitly request inheritance or initialization\nvia the inherit and initial keywords."
}
]
}section/7_3
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
7.3. Explicit Defaulting Several CSS-wide property values are defined below; declaring a property to have these values explicitly specifies a particular defaulting behavior. As specified in CSS Values and Units [css-values-3], all CSS properties can accept these values.
Original data · JSON
{
"contentHash": "sha256:f259ae221bd4ab6775e42b189fc717daeb295c00304c5ad6ebfb692d25d7190b",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S7_3",
"kind": "fragment",
"locator": "section/7_3",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:2c9a0c61a35084c4cb57ce479d688d037655c4c5fed1fa24b0b2ee5a9c325e43",
"language": "en",
"status": "official",
"text": "7.3. Explicit Defaulting\nSeveral CSS-wide property values are defined below;\ndeclaring a property to have these values explicitly specifies a particular defaulting behavior.\nAs specified in CSS Values and Units [css-values-3],\nall CSS properties can accept these values."
}
]
}section/7_3_4
Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
7.3.4. Rolling Back Cascade Origins: the revert keyword If the cascaded value of a property is the revert keyword, the behavior depends on the cascade origin to which the declaration belongs: user-agent origin Equivalent to unset. user origin Rolls back the cascaded value to the user-agent level, so that the specified value is calculated as if no author-origin or user-origin rules were specified for this property on this element. author origin Rolls back the cascaded value to the user level, so that the specified value is calculated as if no author-origin rules were specified for this property on this element. For the purpose of revert, this origin includes the Animation origin.
Original data · JSON
{
"contentHash": "sha256:2c0dc8bb4155586ca80391621fa221a1e4dbc765b8fec045caf564eb9ec6d7f3",
"edition": "urn:w3c:clir:css-cascade#CSS_CASCADE_5_EN",
"fragmentKind": "section",
"id": "urn:w3c:clir:css-cascade#CSS_S7_3_4",
"kind": "fragment",
"locator": "section/7_3_4",
"package": "urn:w3c:clir:css-cascade",
"texts": [
{
"contentHash": "sha256:93ccc25f0643cf0eae5ca7b86594f868b1ec46b0b0b74aaa655cf3cfaf128447",
"language": "en",
"status": "official",
"text": "7.3.4. Rolling Back Cascade Origins: the revert keyword\nIf the cascaded value of a property is\nthe revert keyword,\nthe behavior depends on the cascade origin to which the declaration belongs:\nuser-agent origin\nEquivalent to unset.\nuser origin\nRolls back the cascaded value to the user-agent level,\nso that the specified value is calculated\nas if no author-origin or user-origin rules were specified\nfor this property on this element.\nauthor origin\nRolls back the cascaded value to the user level,\nso that the specified value is calculated\nas if no author-origin rules were specified\nfor this property on this element.\nFor the purpose of revert, this origin includes the Animation origin."
}
]
}Packages in the snapshot
- Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
Technical dataFull response, parameters and checksums
- Calculation status
- COMPUTED
Full engine response
Complete machine result · JSON
This block is too large for inline viewing. It is included in full in the document JSON, without truncation.
Download JSON ↓Execution · JSON
This block is too large for inline viewing. It is included in full in the document JSON, without truncation.
Download JSON ↓Display metadata
This block is too large for inline viewing. It is included in full in the document JSON, without truncation.
Download JSON ↓JSON · calculations, sources and exact data
{
"acts": [
{
"contributed": true,
"fragmentCount": 56,
"fragments": [
"urn:w3c:clir:css-cascade#CSS_S4",
"urn:w3c:clir:css-cascade#CSS_S4_1",
"urn:w3c:clir:css-cascade#CSS_S4_2",
"urn:w3c:clir:css-cascade#CSS_S4_3",
"urn:w3c:clir:css-cascade#CSS_S5",
"urn:w3c:clir:css-cascade#CSS_S6",
"urn:w3c:clir:css-cascade#CSS_S6_1",
"urn:w3c:clir:css-cascade#CSS_S6_2",
"urn:w3c:clir:css-cascade#CSS_S6_3",
"urn:w3c:clir:css-cascade#CSS_S6_4",
"urn:w3c:clir:css-cascade#CSS_S6_4_1",
"urn:w3c:clir:css-cascade#CSS_S6_4_3",
"urn:w3c:clir:css-cascade#CSS_S7_3_4"
],
"jurisdiction": "W3C",
"namespace": "urn:w3c:clir:css-cascade",
"package": "w3c-css-cascade",
"title": "Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1"
}
],
"caseHash": "sha256:1f6dba0296f39f68f0ad846a6233e366f6fc9b3b80dc97a4615cce2539c698a7",
"codeHash": "sha256:9bcca6a33805c1c364ca1bc8e9d39d6a9c51ba44203c0406bafbf397b96be699",
"jurisdiction": "W3C — издатель, не правопорядок",
"legalTime": "2026-09-06",
"mode": "audit",
"programHash": "sha256:16a3aec853641d93baf8b975f4049939810d60a17ec2b8885d7cf40c74cbbaf5",
"resultHash": "sha256:59bef54939978b981c9bbb0ff0ed921746f378372e6705dc98fbfe26063b9861",
"rustCodeHash": "sha256:d368cafc7162ed7a6563df5e5c943a57be26fa8aeb3179b530fe3bdd67fe9be4",
"timezone": "Asia/Qyzylorda"
}- evaluation SHA-256
- sha256:f914da2278f0721b4683c0ecdf9808a40eab2261fd736db4177d83bdd3d49411
Original data · JSON
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:d:r14"
],
"facts": [
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "declaration_recorded"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "in_applicable_style_sheet"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "qualifying_conditions_true"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "property_is_known"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "value_matches_property_syntax"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:element:target"
],
"predicate": "selector_matches"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:property:color"
],
"predicate": "declares_property"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:context:light-dom"
],
"predicate": "declaration_context"
},
{
"args": [
"urn:case:css:d:l14",
0,
0,
1
],
"predicate": "specificity"
},
{
"args": [
"urn:case:css:d:l14",
1
],
"predicate": "document_order"
},
{
"args": [
"urn:case:css:d:l14",
"AuthorOrigin"
],
"predicate": "declaration_origin"
},
{
"args": [
"urn:case:css:d:l14"
],
"predicate": "mapped_by_style_rule"
},
{
"args": [
"urn:case:css:d:l14",
"urn:case:css:layer:theme"
],
"predicate": "assigned_to_layer"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "declaration_recorded"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "in_applicable_style_sheet"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "qualifying_conditions_true"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "property_is_known"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "value_matches_property_syntax"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:element:target"
],
"predicate": "selector_matches"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:property:color"
],
"predicate": "declares_property"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:context:light-dom"
],
"predicate": "declaration_context"
},
{
"args": [
"urn:case:css:d:r14",
0,
0,
1
],
"predicate": "specificity"
},
{
"args": [
"urn:case:css:d:r14",
2
],
"predicate": "document_order"
},
{
"args": [
"urn:case:css:d:r14",
"AuthorOrigin"
],
"predicate": "declaration_origin"
},
{
"args": [
"urn:case:css:d:r14"
],
"predicate": "mapped_by_style_rule"
},
{
"args": [
"urn:case:css:d:r14",
"urn:case:css:layer:reset"
],
"predicate": "assigned_to_layer"
},
{
"args": [
"urn:case:css:layer:reset"
],
"predicate": "declared_by_layer_block"
},
{
"args": [
"urn:case:css:layer:reset"
],
"predicate": "declared_outside_conditional_group"
},
{
"args": [
"urn:case:css:layer:reset",
"urn:case:css:layer:theme"
],
"predicate": "first_declared_before"
},
{
"args": [
"urn:case:css:layer:theme"
],
"predicate": "declared_by_layer_block"
},
{
"args": [
"urn:case:css:layer:theme"
],
"predicate": "declared_outside_conditional_group"
}
],
"kind": "truth",
"legalTime": "2026-09-06",
"package": "w3c-css-cascade",
"predicate": "wins_cascade",
"proof": true
}