Lensby Arxo
Скачать JSON
Вопрос Сохранённый разбор

Два объявления претендуют на одно свойство. Как каскад решает спор через слои, важность, происхождение и специфичность селектора?

Каскад — не «кто специфичнее», а лестница критериев. Среди обычных объявлений побеждает более поздний слой, но у важных объявлений порядок слоёв переворачивается, и выигрывает более ранний. Объявление вне слоёв бьёт слоевое даже при меньшей специфичности. Сама специфичность сравнивается покомпонентно, слева направо, и лишь при полном равенстве спор решает порядок в документе. Каждый шаг здесь — отдельное выведенное утверждение спецификации, а не эвристика браузера.

Это пояснение ассистента, а не результат расчёта. Проверяйте выводы по основаниям и источникам ниже.

Кратко

6

Выберите результат, чтобы перейти к основаниям

Подробный разбор

6

Проверка условия

Обычное: побеждает более поздний слой

Юрисдикция W3C — издатель, не правопорядокПраво на дату 06.09.2026

Результат расчёта

Установлено

Исходные параметры

Что определяем

declaration is sorted before the other by the cascade

l14r14

Исходные факты

  • declaration is among the declarations the case records

    d: l14
  • declaration belongs to a style sheet that currently applies to this document

    d: l14
  • every conditional rule qualifying the declaration has a true condition

    d: l14
  • the declaration's property is a known property name

    d: l14
  • the declaration's value matches the syntax for that property

    d: l14
  • declaration belongs to a style rule whose selector matches the element

    d: l14e: target
  • declaration declares this property

    d: l14p: color
  • declaration is sourced from this encapsulation context

    d: l14encapsulation: light-dom
  • specificity of the style rule the declaration appears in, as computed by the Selectors module

    d: l14a: 0b: 0c: 1
  • position of the declaration in document order

    d: l14position: 1
  • declaration has this cascade origin

    d: l14origin: Author Origin: style sheets specified for a source document according to the conventions of the document language
  • declaration is mapped by means of a style rule selector

    d: l14
  • declaration is explicitly assigned to this cascade layer

    d: l14layer: theme
  • declaration is among the declarations the case records

    d: r14
  • declaration belongs to a style sheet that currently applies to this document

    d: r14
  • every conditional rule qualifying the declaration has a true condition

    d: r14
  • the declaration's property is a known property name

    d: r14
  • the declaration's value matches the syntax for that property

    d: r14
  • declaration belongs to a style rule whose selector matches the element

    d: r14e: target
  • declaration declares this property

    d: r14p: color
  • declaration is sourced from this encapsulation context

    d: r14encapsulation: light-dom
  • specificity of the style rule the declaration appears in, as computed by the Selectors module

    d: r14a: 0b: 0c: 1
  • position of the declaration in document order

    d: r14position: 2
  • declaration has this cascade origin

    d: r14origin: Author Origin: style sheets specified for a source document according to the conventions of the document language
  • declaration is mapped by means of a style rule selector

    d: r14
  • declaration is explicitly assigned to this cascade layer

    d: r14layer: reset
  • layer is declared using a @layer block at-rule

    layer: reset
  • layer is not defined inside a conditional group rule

    layer: reset
  • the first layer is first declared before the second in the layer order of its origin and context

    early: resetlate: theme
  • layer is declared using a @layer block at-rule

    layer: theme
  • layer is not defined inside a conditional group rule

    layer: theme

Пакет: Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан

Дополнительные сведения

Сохранить доказательство
Да
Исходные данные · JSON
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
}
Почему такой результатПрименённые правила и условия

Путь вывода53 шагов

  1. 1

    declaration is among the declarations the case records

    d: urn:case:css:d:l14

    факт дела
  2. 2

    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

    факт дела
  3. 3

    declaration is mapped by means of a style rule selector

    d: urn:case:css:d:l14

    факт дела
  4. 4

    declaration is explicitly assigned to this cascade layer

    d: urn:case:css:d:l14; layer: urn:case:css:layer:theme

    факт дела
  5. 5

    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

    разд. 6_4_3, разд. 6_1

    Идентификатор
    urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
    правило
  6. 6

    declaration is among the declarations the case records

    d: urn:case:css:d:r14

    факт дела
  7. 7

    declaration belongs to a style sheet that currently applies to this document

    d: urn:case:css:d:r14

    факт дела
  8. 8

    every conditional rule qualifying the declaration has a true condition

    d: urn:case:css:d:r14

    факт дела
  9. 9

    the declaration's property is a known property name

    d: urn:case:css:d:r14

    факт дела
  10. 10

    the declaration's value matches the syntax for that property

    d: urn:case:css:d:r14

    факт дела
  11. 11

    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

    разд. 5

    Идентификатор
    urn:w3c:clir:css-cascade#SyntacticallyValid
    правило
  12. 12

    declaration belongs to a style rule whose selector matches the element

    d: urn:case:css:d:r14; e: urn:case:css:element:target

    факт дела
  13. 13

    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

    разд. 5

    Идентификатор
    urn:w3c:clir:css-cascade#DeclarationApplies
    правило
  14. 14

    declaration belongs to a style sheet that currently applies to this document

    d: urn:case:css:d:l14

    факт дела
  15. 15

    declaration declares this property

    d: urn:case:css:d:r14; p: urn:case:css:property:color

    факт дела
  16. 16

    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

    разд. 4_1, разд. 4

    Идентификатор
    urn:w3c:clir:css-cascade#DeclaredValueContributed
    правило
  17. 17

    declaration is sourced from this encapsulation context

    d: urn:case:css:d:r14; encapsulation: urn:case:css:context:light-dom

    факт дела
  18. 18

    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

    факт дела
  19. 19

    declaration is mapped by means of a style rule selector

    d: urn:case:css:d:r14

    факт дела
  20. 20

    declaration is explicitly assigned to this cascade layer

    d: urn:case:css:d:r14; layer: urn:case:css:layer:reset

    факт дела
  21. 21

    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

    разд. 6_4_3, разд. 6_1

    Идентификатор
    urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
    правило
  22. 22

    layer is declared using a @layer block at-rule

    layer: urn:case:css:layer:reset

    факт дела
  23. 23

    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

    разд. 6_4_1

    Идентификатор
    urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
    правило
  24. 24

    layer is not defined inside a conditional group rule

    layer: urn:case:css:layer:reset

    факт дела
  25. 25

    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

    разд. 6_4_3

    Идентификатор
    urn:w3c:clir:css-cascade#TopLevelLayerContributes
    правило
  26. 26

    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

    факт дела
  27. 27

    every conditional rule qualifying the declaration has a true condition

    d: urn:case:css:d:l14

    факт дела
  28. 28

    layer is declared using a @layer block at-rule

    layer: urn:case:css:layer:theme

    факт дела
  29. 29

    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

    разд. 6_4_1

    Идентификатор
    urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
    правило
  30. 30

    layer is not defined inside a conditional group rule

    layer: urn:case:css:layer:theme

    факт дела
  31. 31

    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

    разд. 6_4_3

    Идентификатор
    urn:w3c:clir:css-cascade#TopLevelLayerContributes
    правило
  32. 32

    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

    разд. 6_4_3

    Идентификатор
    urn:w3c:clir:css-cascade#ContributingLayersKeepDeclarationOrder
    правило
  33. 33

    the declaration's property is a known property name

    d: urn:case:css:d:l14

    факт дела
  34. 34

    the declaration's value matches the syntax for that property

    d: urn:case:css:d:l14

    факт дела
  35. 35

    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

    разд. 5

    Идентификатор
    urn:w3c:clir:css-cascade#SyntacticallyValid
    правило
  36. 36

    declaration belongs to a style rule whose selector matches the element

    d: urn:case:css:d:l14; e: urn:case:css:element:target

    факт дела
  37. 37

    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

    разд. 5

    Идентификатор
    urn:w3c:clir:css-cascade#DeclarationApplies
    правило
  38. 38

    declaration declares this property

    d: urn:case:css:d:l14; p: urn:case:css:property:color

    факт дела
  39. 39

    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

    разд. 4_1, разд. 4

    Идентификатор
    urn:w3c:clir:css-cascade#DeclaredValueContributed
    правило
  40. 40

    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

    разд. 6, разд. 6_1

    Идентификатор
    urn:w3c:clir:css-cascade#Comparable
    правило
  41. 41

    declaration is sourced from this encapsulation context

    d: urn:case:css:d:l14; encapsulation: urn:case:css:context:light-dom

    факт дела
  42. 42

    band occupies this position in the origin-and-importance precedence list

    band: Normal author declarations; rank: 60

    происхождение не записано
  43. 43

    the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

    не 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

    происхождение не записано
  44. 44

    Section 6.3. All other declarations are normal (non-important)

    declaration is normal (non-important): d: urn:case:css:d:l14

    разд. 6_3

    Идентификатор
    urn:w3c:clir:css-cascade#NormalDeclaration
    правило
  45. 45

    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

    разд. 6_1, разд. 6_2

    Идентификатор
    urn:w3c:clir:css-cascade#NormalAuthorBand
    правило
  46. 46

    the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

    не 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

    происхождение не записано
  47. 47

    Section 6.3. All other declarations are normal (non-important)

    declaration is normal (non-important): d: urn:case:css:d:r14

    разд. 6_3

    Идентификатор
    urn:w3c:clir:css-cascade#NormalDeclaration
    правило
  48. 48

    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

    разд. 6_1, разд. 6_2

    Идентификатор
    urn:w3c:clir:css-cascade#NormalAuthorBand
    правило
  49. 49

    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

    разд. 6_1

    Идентификатор
    urn:w3c:clir:css-cascade#OriginAndImportanceTied
    правило
  50. 50

    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

    разд. 6_1

    Идентификатор
    urn:w3c:clir:css-cascade#ContextTied
    правило
  51. 51

    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

    разд. 6_1

    Идентификатор
    urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
    правило
  52. 52

    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

    разд. 6_1, разд. 6_4

    Идентификатор
    urn:w3c:clir:css-cascade#LayerDecidesForNormal
    правило
  53. 53

    Вычисление запроса

    запрос

проверено движком: 23 · факт дела: 27 · происхождение не записано: 3 · Полный граф: 84 узлов

Шаги сохранённого доказательства от фактов дела к ответу. Формулы показаны как записаны в норме, с подставленными значениями; страница ничего не пересчитывает.

Основание этого ответа

Правила из сохранённой цепочки доказательства ответа.

Каскад и умолчания 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

    Идентификатор
    urn:w3c:clir:css-cascade#Comparable
  • Section 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies

    Идентификатор
    urn:w3c:clir:css-cascade#ContextTied
  • Section 6.4.3. Cascade layers are sorted by the order in which they first are declared

    Идентификатор
    urn:w3c:clir:css-cascade#ContributingLayersKeepDeclarationOrder
  • Section 5. A declaration applies to an element when all four filtering conditions hold

    Идентификатор
    urn:w3c:clir:css-cascade#DeclarationApplies
  • Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element

    Идентификатор
    urn:w3c:clir:css-cascade#DeclaredValueContributed
  • Section 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies

    Идентификатор
    urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
  • Section 6.4.1. A cascade layer can be declared using a @layer block at-rule, assigning its child style rules into that layer

    Идентификатор
    urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
  • Section 6.4.3. Declarations within each origin and context can be explicitly assigned to a cascade layer

    Идентификатор
    urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
  • Section 6.1, Layers. For normal rules the declaration whose cascade layer is last wins

    Идентификатор
    urn:w3c:clir:css-cascade#LayerDecidesForNormal
  • Section 6.1. Normal author declarations occupy the sixth step of the precedence list

    Идентификатор
    urn:w3c:clir:css-cascade#NormalAuthorBand
  • Section 6.3. All other declarations are normal (non-important)

    Идентификатор
    urn:w3c:clir:css-cascade#NormalDeclaration
  • Section 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies

    Идентификатор
    urn:w3c:clir:css-cascade#OriginAndImportanceTied
  • Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property

    Идентификатор
    urn:w3c:clir:css-cascade#SyntacticallyValid
  • Section 6.4.3. A layer not defined inside a conditional group rule contributes to the layer order

    Идентификатор
    urn:w3c:clir:css-cascade#TopLevelLayerContributes
Другие правила расчёта8

Применены в общем расчёте, но не входят в цепочку доказательства этого ответа.

Каскад и умолчания 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

    Идентификатор
    urn:w3c:clir:css-cascade#CascadeYieldsValue
  • Section 4.2. The cascaded value is the declared value that wins the cascade: the one no competing declaration outranks

    Идентификатор
    urn:w3c:clir:css-cascade#CascadedValueIsTheUnbeatenDeclaration
  • Section 6.4.3. Unlayered style rules are added to an implicit outer layer which has higher priority than (comes after) the explicit layers

    Идентификатор
    urn:w3c:clir:css-cascade#ExplicitLayersComeBeforeTheImplicitOuterLayer
  • Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

    Идентификатор
    urn:w3c:clir:css-cascade#LayerTied
  • Section 4.2. A declaration is outranked when some competing declaration wins the cascade over it

    Идентификатор
    urn:w3c:clir:css-cascade#OutrankedBySome
  • Section 7.3.4. For the purpose of revert, a declaration in the author origin belongs to the author origin

    Идентификатор
    urn:w3c:clir:css-cascade#RevertOriginIsAuthorForAuthorOrigin
  • Section 6.1, Specificity. The declarations have equal specificity: the next criterion applies

    Идентификатор
    urn:w3c:clir:css-cascade#SpecificityTied
  • Section 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

    Идентификатор
    urn:w3c:clir:css-cascade#SpecifiedValueIsCascadedValue

Вывод по запросу

  • declaration is sorted before the other by the cascade

    winner: l14loser: r14
Другие выводы37
  • for the purpose of the revert keyword the declaration belongs to the author origin

    d: l14
  • declaration belongs to this cascade layer for the purpose of the cascade

    d: l14layer: theme
  • declaration is syntactically valid

    d: r14
  • declaration applies to the element

    d: r14e: target
  • declaration contributes a declared value for this property on this element

    d: r14e: targetp: color
  • two declarations are sorted against each other by the cascade

    first: r14second: r14
  • for the purpose of the revert keyword the declaration belongs to the author origin

    d: r14
  • declaration belongs to this cascade layer for the purpose of the cascade

    d: r14layer: reset
  • declaration is syntactically valid

    d: l14
  • declaration applies to the element

    d: l14e: target
  • declaration contributes a declared value for this property on this element

    d: l14e: targetp: color
  • declaration is the cascaded value for this property on this element

    d: l14e: targetp: color
  • two declarations are sorted against each other by the cascade

    firstsecond
    l14r14
    r14l14
    l14l14
  • the specified value is the cascaded value itself

    d: l14e: targetp: color
  • declaration is normal (non-important)

    d: l14
  • declaration belongs to this step of the origin-and-importance list

    d: l14band: Normal author declarations
  • origin and importance did not separate the declarations

    first: l14second: l14
  • encapsulation context did not separate the declarations

    first: l14second: l14
  • element-attached styles did not separate the declarations

    first: l14second: l14
  • cascade layers did not separate the declarations

    first: l14second: l14
  • specificity did not separate the declarations

    first: l14second: l14
  • declaration is normal (non-important)

    d: r14
  • declaration belongs to this step of the origin-and-importance list

    d: r14band: Normal author declarations
  • origin and importance did not separate the declarations

    first: r14second: r14
  • encapsulation context did not separate the declarations

    first: r14second: r14
  • element-attached styles did not separate the declarations

    first: r14second: r14
  • cascade layers did not separate the declarations

    first: r14second: r14
  • origin and importance did not separate the declarations

    first: r14second: l14
  • encapsulation context did not separate the declarations

    first: r14second: l14
  • element-attached styles did not separate the declarations

    first: r14second: l14
  • origin and importance did not separate the declarations

    first: l14second: r14
  • encapsulation context did not separate the declarations

    first: l14second: r14
  • element-attached styles did not separate the declarations

    first: l14second: r14
  • some competing declaration wins the cascade over this one

    d: r14
  • specificity did not separate the declarations

    first: r14second: r14
for the purpose of the revert keyword the declaration belongs to the author origin
d
l14
r14
declaration belongs to this cascade layer for the purpose of the cascade
dlayer
l14urn:case:css:layer:theme
r14urn:case:css:layer:reset
declaration is syntactically valid
d
r14
l14
declaration applies to the element
de
r14urn:case:css:element:target
l14urn:case:css:element:target
declaration contributes a declared value for this property on this element
dep
r14urn:case:css:element:targeturn:case:css:property:color
l14urn:case:css:element:targeturn:case:css:property:color
Граф связей
urn:case:css:d:r14urn:case:css:d:l14
two declarations are sorted against each other by the cascade
firstsecond
r14r14
l14r14
r14l14
l14l14
declaration is the cascaded value for this property on this element
dep
l14urn:case:css:element:targeturn:case:css:property:color
the specified value is the cascaded value itself
dep
l14urn:case:css:element:targeturn:case:css:property:color
declaration is normal (non-important)
d
l14
r14
declaration belongs to this step of the origin-and-importance list
dband
l14Normal author declarations
r14Normal author declarations
Граф связей
urn:case:css:d:l14urn:case:css:d:r14
origin and importance did not separate the declarations
firstsecond
l14l14
r14r14
r14l14
l14r14
Граф связей
urn:case:css:d:l14urn:case:css:d:r14
encapsulation context did not separate the declarations
firstsecond
l14l14
r14r14
r14l14
l14r14
Граф связей
urn:case:css:d:l14urn:case:css:d:r14
element-attached styles did not separate the declarations
firstsecond
l14l14
r14r14
r14l14
l14r14
Граф связей
urn:case:css:d:l14urn:case:css:d:r14
cascade layers did not separate the declarations
firstsecond
l14l14
r14r14
Граф связей
urn:case:css:d:l14urn:case:css:d:r14
specificity did not separate the declarations
firstsecond
l14l14
r14r14
Граф связей
urn:case:css:d:l14urn:case:css:d:r14
declaration is sorted before the other by the cascade
winnerloser
l14r14
some competing declaration wins the cascade over this one
d
r14

Скрыто выведенных фактов: 8. В кратком ответе движок оставляет относящиеся к вопросу; полный перечень — в JSON расчёта ниже.

Граф доказательств

Закрытый перечень: the set of declarations carrying the !important annotation is closed by the case

закрытый предикат the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important · снимок urn:w3c:clir:css-cascade:snapshot:declarations:case · полон на

в перечне
    не в перечне (явный негатив по замыканию)
    • urn:case:css:d:l14
    • urn:case:css:d:r14

    Перечень закрыт объявлением §70: отсутствие записи в снимке даёт явный негатив с сертификатом анти-принадлежности (§231.1). Списки — узлы графа доказательства, как их записало исполнение.

    Граф доказательства · 10 слой
    query_evaluationwins_cascaderule_applicationLayerDecidesForNormalrule_applicationContributingLayersKeepDeclarationOrdrule_applicationElementAttachedTiedBothMappedrule_applicationExplicitlyAssignedDeclarationIsInTharule_applicationExplicitlyAssignedDeclarationIsInTharule_applicationNormalDeclarationrule_applicationNormalDeclarationrule_applicationTopLevelLayerContributesrule_applicationTopLevelLayerContributesassertionfirst_declared_beforerule_applicationContextTiedassertionmapped_by_style_ruleassertionmapped_by_style_ruleassertionassigned_to_layerassertionassigned_to_layerassertiondeclaration_recordedassertionhas_important_annotationassertiondeclaration_recordedassertionhas_important_annotationrule_applicationExplicitLayerByLayerBlockassertiondeclared_outside_conditional_grouprule_applicationExplicitLayerByLayerBlockassertiondeclared_outside_conditional_grouprule_applicationOriginAndImportanceTiedassertiondeclaration_contextassertiondeclaration_contextassertiondeclared_by_layer_blockassertiondeclared_by_layer_blockrule_applicationComparablerule_applicationNormalAuthorBandrule_applicationNormalAuthorBandassertionband_rankrule_applicationDeclaredValueContributedrule_applicationDeclaredValueContributedassertiondeclaration_originassertiondeclaration_originrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesassertionproperty_is_knownassertionvalue_matches_property_syntaxassertionproperty_is_knownassertionvalue_matches_property_syntax

    Узлы доказательств: 84 · assertion 32, rule_application 46, candidate_closure 5, query_evaluation 1

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓
    Идентификаторы календаря и доказательства
    Ссылка на доказательство
    mcp
    Исходное обоснование · JSON

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓
    ИсточникиФрагментов: 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).
    Исходные данные · JSON
    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”.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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]
    Исходные данные · JSON
    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]
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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."
        }
      ]
    }

    Пакеты в снимке

    • Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
    Технические данныеПолный ответ, параметры и контрольные суммы
    Статус расчёта
    COMPUTED
    Полный ответ движка
    wins_cascade: TRUE_ONLY — установлено Выведено правом: revert_origin_is_author(urn:case:css:d:l14); in_layer(urn:case:css:d:l14, urn:case:css:layer:theme); syntactically_valid(urn:case:css:d:r14); applies_to(urn:case:css:d:r14, urn:case:css:element:target); declared_value_for(urn:case:css:d:r14, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:r14, urn:case:css:d:r14); revert_origin_is_author(urn:case:css:d:r14); in_layer(urn:case:css:d:r14, urn:case:css:layer:reset); syntactically_valid(urn:case:css:d:l14); applies_to(urn:case:css:d:l14, urn:case:css:element:target); declared_value_for(urn:case:css:d:l14, urn:case:css:element:target, urn:case:css:property:color); cascaded_value_from(urn:case:css:d:l14, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:l14, urn:case:css:d:r14); comparable(urn:case:css:d:r14, urn:case:css:d:l14); comparable(urn:case:css:d:l14, urn:case:css:d:l14); specified_value_from_cascade(urn:case:css:d:l14, urn:case:css:element:target, urn:case:css:property:color); normal(urn:case:css:d:l14); declaration_band(urn:case:css:d:l14, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:l14, urn:case:css:d:l14); tied_after_context(urn:case:css:d:l14, urn:case:css:d:l14); tied_after_element_attached(urn:case:css:d:l14, urn:case:css:d:l14); tied_after_layer(urn:case:css:d:l14, urn:case:css:d:l14); tied_after_specificity(urn:case:css:d:l14, urn:case:css:d:l14); normal(urn:case:css:d:r14); declaration_band(urn:case:css:d:r14, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:r14, urn:case:css:d:r14); tied_after_context(urn:case:css:d:r14, urn:case:css:d:r14); tied_after_element_attached(urn:case:css:d:r14, urn:case:css:d:r14); tied_after_layer(urn:case:css:d:r14, urn:case:css:d:r14); tied_after_band(urn:case:css:d:r14, urn:case:css:d:l14); tied_after_context(urn:case:css:d:r14, urn:case:css:d:l14); tied_after_element_attached(urn:case:css:d:r14, urn:case:css:d:l14); tied_after_band(urn:case:css:d:l14, urn:case:css:d:r14); tied_after_context(urn:case:css:d:l14, urn:case:css:d:r14); tied_after_element_attached(urn:case:css:d:l14, urn:case:css:d:r14); wins_cascade(urn:case:css:d:l14, urn:case:css:d:r14); outranked_by_some(urn:case:css:d:r14); tied_after_specificity(urn:case:css:d:r14, urn:case:css:d:r14) …и ещё 8 выведенных фактов вне предмета вопроса (полный вывод — law_explain) Применены правила: CascadeYieldsValue, CascadedValueIsTheUnbeatenDeclaration, Comparable, ContextTied, ContributingLayersKeepDeclarationOrder, DeclarationApplies, DeclaredValueContributed, ElementAttachedTiedBothMapped, ExplicitLayerByLayerBlock, ExplicitLayersComeBeforeTheImplicitOuterLayer, ExplicitlyAssignedDeclarationIsInThatLayer, LayerDecidesForNormal, LayerTied, NormalAuthorBand, NormalDeclaration, OriginAndImportanceTied, OutrankedBySome, RevertOriginIsAuthorForAuthorOrigin, SpecificityTied, SpecifiedValueIsCascadedValue, SyntacticallyValid, TopLevelLayerContributes Право (W3C — издатель, не правопорядок): Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — EXECUTABLE 22 §33.1 (programHash sha256:16a3aec85364…) proof-граф: 84 узлов — поле evaluation готово для law_explain

    Полный машинный результат · JSON

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓

    Исполнение · JSON

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓

    Метаданные отображения

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓

    JSON · расчёты, источники и точные данные

    JSONТолько чтение
    {
      "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
    Исходные данные · JSON
    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
    }

    Среди обычных объявлений слой, объявленный позже, старше.

    Проверка условия

    Важное: побеждает более ранний слой

    Юрисдикция W3C — издатель, не правопорядокПраво на дату 06.09.2026

    Результат расчёта

    Установлено

    Исходные параметры

    Что определяем

    declaration is sorted before the other by the cascade

    r15l15

    Исходные факты

    • declaration is among the declarations the case records

      d: r15
    • declaration belongs to a style sheet that currently applies to this document

      d: r15
    • every conditional rule qualifying the declaration has a true condition

      d: r15
    • the declaration's property is a known property name

      d: r15
    • the declaration's value matches the syntax for that property

      d: r15
    • declaration belongs to a style rule whose selector matches the element

      d: r15e: target
    • declaration declares this property

      d: r15p: color
    • declaration is sourced from this encapsulation context

      d: r15encapsulation: light-dom
    • specificity of the style rule the declaration appears in, as computed by the Selectors module

      d: r15a: 0b: 0c: 1
    • position of the declaration in document order

      d: r15position: 1
    • declaration has this cascade origin

      d: r15origin: Author Origin: style sheets specified for a source document according to the conventions of the document language
    • the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

      d: r15
    • declaration is mapped by means of a style rule selector

      d: r15
    • declaration is explicitly assigned to this cascade layer

      d: r15layer: reset
    • declaration is among the declarations the case records

      d: l15
    • declaration belongs to a style sheet that currently applies to this document

      d: l15
    • every conditional rule qualifying the declaration has a true condition

      d: l15
    • the declaration's property is a known property name

      d: l15
    • the declaration's value matches the syntax for that property

      d: l15
    • declaration belongs to a style rule whose selector matches the element

      d: l15e: target
    • declaration declares this property

      d: l15p: color
    • declaration is sourced from this encapsulation context

      d: l15encapsulation: light-dom
    • specificity of the style rule the declaration appears in, as computed by the Selectors module

      d: l15a: 0b: 0c: 1
    • position of the declaration in document order

      d: l15position: 2
    • declaration has this cascade origin

      d: l15origin: Author Origin: style sheets specified for a source document according to the conventions of the document language
    • the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

      d: l15
    • declaration is mapped by means of a style rule selector

      d: l15
    • declaration is explicitly assigned to this cascade layer

      d: l15layer: theme
    • layer is declared using a @layer block at-rule

      layer: reset
    • layer is not defined inside a conditional group rule

      layer: reset
    • the first layer is first declared before the second in the layer order of its origin and context

      early: resetlate: theme
    • layer is declared using a @layer block at-rule

      layer: theme
    • layer is not defined inside a conditional group rule

      layer: theme

    Пакет: Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан

    Дополнительные сведения

    Сохранить доказательство
    Да
    Исходные данные · JSON
    JSONТолько чтение
    {
      "args": [
        "urn:case:css:d:r15",
        "urn:case:css:d:l15"
      ],
      "facts": [
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "declaration_recorded"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "in_applicable_style_sheet"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "qualifying_conditions_true"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "property_is_known"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "value_matches_property_syntax"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:element:target"
          ],
          "predicate": "selector_matches"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:property:color"
          ],
          "predicate": "declares_property"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:context:light-dom"
          ],
          "predicate": "declaration_context"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            0,
            0,
            1
          ],
          "predicate": "specificity"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            1
          ],
          "predicate": "document_order"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "AuthorOrigin"
          ],
          "predicate": "declaration_origin"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "has_important_annotation"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "mapped_by_style_rule"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:layer:reset"
          ],
          "predicate": "assigned_to_layer"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "declaration_recorded"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "in_applicable_style_sheet"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "qualifying_conditions_true"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "property_is_known"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "value_matches_property_syntax"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:element:target"
          ],
          "predicate": "selector_matches"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:property:color"
          ],
          "predicate": "declares_property"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:context:light-dom"
          ],
          "predicate": "declaration_context"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            0,
            0,
            1
          ],
          "predicate": "specificity"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            2
          ],
          "predicate": "document_order"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "AuthorOrigin"
          ],
          "predicate": "declaration_origin"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "has_important_annotation"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "mapped_by_style_rule"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:layer:theme"
          ],
          "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
    }
    Почему такой результатПрименённые правила и условия

    Путь вывода51 шагов

    1. 1

      declaration has this cascade origin

      d: urn:case:css:d:r15; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

      факт дела
    2. 2

      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:r15

      факт дела
    3. 3

      Section 6.3. A declaration is important if it has a !important annotation

      declaration is important: d: urn:case:css:d:r15

      разд. 6_3

      Идентификатор
      urn:w3c:clir:css-cascade#ImportantDeclaration
      правило
    4. 4

      Section 6.1. Important author declarations occupy the fourth step of the precedence list

      declaration belongs to this step of the origin-and-importance list: d: urn:case:css:d:r15; band: Important author declarations

      разд. 6_1, разд. 6_3

      Идентификатор
      urn:w3c:clir:css-cascade#ImportantAuthorBand
      правило
    5. 5

      declaration is mapped by means of a style rule selector

      d: urn:case:css:d:r15

      факт дела
    6. 6

      declaration is explicitly assigned to this cascade layer

      d: urn:case:css:d:r15; layer: urn:case:css:layer:reset

      факт дела
    7. 7

      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:r15; layer: urn:case:css:layer:reset

      разд. 6_4_3, разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
      правило
    8. 8

      declaration belongs to a style sheet that currently applies to this document

      d: urn:case:css:d:l15

      факт дела
    9. 9

      every conditional rule qualifying the declaration has a true condition

      d: urn:case:css:d:l15

      факт дела
    10. 10

      the declaration's property is a known property name

      d: urn:case:css:d:l15

      факт дела
    11. 11

      the declaration's value matches the syntax for that property

      d: urn:case:css:d:l15

      факт дела
    12. 12

      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:l15

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#SyntacticallyValid
      правило
    13. 13

      declaration belongs to a style sheet that currently applies to this document

      d: urn:case:css:d:r15

      факт дела
    14. 14

      declaration belongs to a style rule whose selector matches the element

      d: urn:case:css:d:l15; e: urn:case:css:element:target

      факт дела
    15. 15

      Section 5. A declaration applies to an element when all four filtering conditions hold

      declaration applies to the element: d: urn:case:css:d:l15; e: urn:case:css:element:target

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#DeclarationApplies
      правило
    16. 16

      declaration declares this property

      d: urn:case:css:d:l15; p: urn:case:css:property:color

      факт дела
    17. 17

      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:l15; e: urn:case:css:element:target; p: urn:case:css:property:color

      разд. 4_1, разд. 4

      Идентификатор
      urn:w3c:clir:css-cascade#DeclaredValueContributed
      правило
    18. 18

      declaration is sourced from this encapsulation context

      d: urn:case:css:d:l15; encapsulation: urn:case:css:context:light-dom

      факт дела
    19. 19

      declaration has this cascade origin

      d: urn:case:css:d:l15; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

      факт дела
    20. 20

      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:l15

      факт дела
    21. 21

      Section 6.3. A declaration is important if it has a !important annotation

      declaration is important: d: urn:case:css:d:l15

      разд. 6_3

      Идентификатор
      urn:w3c:clir:css-cascade#ImportantDeclaration
      правило
    22. 22

      Section 6.1. Important author declarations occupy the fourth step of the precedence list

      declaration belongs to this step of the origin-and-importance list: d: urn:case:css:d:l15; band: Important author declarations

      разд. 6_1, разд. 6_3

      Идентификатор
      urn:w3c:clir:css-cascade#ImportantAuthorBand
      правило
    23. 23

      declaration is mapped by means of a style rule selector

      d: urn:case:css:d:l15

      факт дела
    24. 24

      declaration is explicitly assigned to this cascade layer

      d: urn:case:css:d:l15; layer: urn:case:css:layer:theme

      факт дела
    25. 25

      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:l15; layer: urn:case:css:layer:theme

      разд. 6_4_3, разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
      правило
    26. 26

      layer is declared using a @layer block at-rule

      layer: urn:case:css:layer:reset

      факт дела
    27. 27

      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

      разд. 6_4_1

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
      правило
    28. 28

      every conditional rule qualifying the declaration has a true condition

      d: urn:case:css:d:r15

      факт дела
    29. 29

      layer is not defined inside a conditional group rule

      layer: urn:case:css:layer:reset

      факт дела
    30. 30

      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

      разд. 6_4_3

      Идентификатор
      urn:w3c:clir:css-cascade#TopLevelLayerContributes
      правило
    31. 31

      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

      факт дела
    32. 32

      layer is declared using a @layer block at-rule

      layer: urn:case:css:layer:theme

      факт дела
    33. 33

      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

      разд. 6_4_1

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
      правило
    34. 34

      layer is not defined inside a conditional group rule

      layer: urn:case:css:layer:theme

      факт дела
    35. 35

      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

      разд. 6_4_3

      Идентификатор
      urn:w3c:clir:css-cascade#TopLevelLayerContributes
      правило
    36. 36

      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

      разд. 6_4_3

      Идентификатор
      urn:w3c:clir:css-cascade#ContributingLayersKeepDeclarationOrder
      правило
    37. 37

      the declaration's property is a known property name

      d: urn:case:css:d:r15

      факт дела
    38. 38

      the declaration's value matches the syntax for that property

      d: urn:case:css:d:r15

      факт дела
    39. 39

      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:r15

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#SyntacticallyValid
      правило
    40. 40

      declaration belongs to a style rule whose selector matches the element

      d: urn:case:css:d:r15; e: urn:case:css:element:target

      факт дела
    41. 41

      Section 5. A declaration applies to an element when all four filtering conditions hold

      declaration applies to the element: d: urn:case:css:d:r15; e: urn:case:css:element:target

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#DeclarationApplies
      правило
    42. 42

      declaration declares this property

      d: urn:case:css:d:r15; p: urn:case:css:property:color

      факт дела
    43. 43

      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:r15; e: urn:case:css:element:target; p: urn:case:css:property:color

      разд. 4_1, разд. 4

      Идентификатор
      urn:w3c:clir:css-cascade#DeclaredValueContributed
      правило
    44. 44

      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:r15; second: urn:case:css:d:l15

      разд. 6, разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#Comparable
      правило
    45. 45

      declaration is sourced from this encapsulation context

      d: urn:case:css:d:r15; encapsulation: urn:case:css:context:light-dom

      факт дела
    46. 46

      band occupies this position in the origin-and-importance precedence list

      band: Important author declarations; rank: 40

      происхождение не записано
    47. 47

      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:r15; second: urn:case:css:d:l15

      разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#OriginAndImportanceTied
      правило
    48. 48

      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:r15; second: urn:case:css:d:l15

      разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#ContextTied
      правило
    49. 49

      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:r15; second: urn:case:css:d:l15

      разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
      правило
    50. 50

      Section 6.1, Layers. For important rules the declaration whose cascade layer is first wins

      declaration is sorted before the other by the cascade: winner: urn:case:css:d:r15; loser: urn:case:css:d:l15

      разд. 6_1, разд. 6_4

      Идентификатор
      urn:w3c:clir:css-cascade#LayerDecidesForImportant
      правило
    51. 51

      Вычисление запроса

      запрос

    проверено движком: 23 · факт дела: 27 · происхождение не записано: 1 · Полный граф: 82 узлов

    Шаги сохранённого доказательства от фактов дела к ответу. Формулы показаны как записаны в норме, с подставленными значениями; страница ничего не пересчитывает.

    Основание этого ответа

    Правила из сохранённой цепочки доказательства ответа.

    Каскад и умолчания 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

      Идентификатор
      urn:w3c:clir:css-cascade#Comparable
    • Section 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#ContextTied
    • Section 6.4.3. Cascade layers are sorted by the order in which they first are declared

      Идентификатор
      urn:w3c:clir:css-cascade#ContributingLayersKeepDeclarationOrder
    • Section 5. A declaration applies to an element when all four filtering conditions hold

      Идентификатор
      urn:w3c:clir:css-cascade#DeclarationApplies
    • Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element

      Идентификатор
      urn:w3c:clir:css-cascade#DeclaredValueContributed
    • Section 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
    • Section 6.4.1. A cascade layer can be declared using a @layer block at-rule, assigning its child style rules into that layer

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
    • Section 6.4.3. Declarations within each origin and context can be explicitly assigned to a cascade layer

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
    • Section 6.1. Important author declarations occupy the fourth step of the precedence list

      Идентификатор
      urn:w3c:clir:css-cascade#ImportantAuthorBand
    • Section 6.3. A declaration is important if it has a !important annotation

      Идентификатор
      urn:w3c:clir:css-cascade#ImportantDeclaration
    • Section 6.1, Layers. For important rules the declaration whose cascade layer is first wins

      Идентификатор
      urn:w3c:clir:css-cascade#LayerDecidesForImportant
    • Section 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#OriginAndImportanceTied
    • Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property

      Идентификатор
      urn:w3c:clir:css-cascade#SyntacticallyValid
    • Section 6.4.3. A layer not defined inside a conditional group rule contributes to the layer order

      Идентификатор
      urn:w3c:clir:css-cascade#TopLevelLayerContributes
    Другие правила расчёта8

    Применены в общем расчёте, но не входят в цепочку доказательства этого ответа.

    Каскад и умолчания 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

      Идентификатор
      urn:w3c:clir:css-cascade#CascadeYieldsValue
    • Section 4.2. The cascaded value is the declared value that wins the cascade: the one no competing declaration outranks

      Идентификатор
      urn:w3c:clir:css-cascade#CascadedValueIsTheUnbeatenDeclaration
    • Section 6.4.3. Unlayered style rules are added to an implicit outer layer which has higher priority than (comes after) the explicit layers

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayersComeBeforeTheImplicitOuterLayer
    • Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#LayerTied
    • Section 4.2. A declaration is outranked when some competing declaration wins the cascade over it

      Идентификатор
      urn:w3c:clir:css-cascade#OutrankedBySome
    • Section 7.3.4. For the purpose of revert, a declaration in the author origin belongs to the author origin

      Идентификатор
      urn:w3c:clir:css-cascade#RevertOriginIsAuthorForAuthorOrigin
    • Section 6.1, Specificity. The declarations have equal specificity: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#SpecificityTied
    • Section 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

      Идентификатор
      urn:w3c:clir:css-cascade#SpecifiedValueIsCascadedValue

    Вывод по запросу

    • declaration is sorted before the other by the cascade

      winner: r15loser: l15
    Другие выводы37
    • for the purpose of the revert keyword the declaration belongs to the author origin

      d: r15
    • declaration is important

      d: r15
    • declaration belongs to this step of the origin-and-importance list

      d: r15band: Important author declarations
    • declaration belongs to this cascade layer for the purpose of the cascade

      d: r15layer: reset
    • declaration is syntactically valid

      d: l15
    • declaration applies to the element

      d: l15e: target
    • declaration contributes a declared value for this property on this element

      d: l15e: targetp: color
    • two declarations are sorted against each other by the cascade

      first: l15second: l15
    • for the purpose of the revert keyword the declaration belongs to the author origin

      d: l15
    • declaration is important

      d: l15
    • declaration belongs to this step of the origin-and-importance list

      d: l15band: Important author declarations
    • declaration belongs to this cascade layer for the purpose of the cascade

      d: l15layer: theme
    • declaration is syntactically valid

      d: r15
    • declaration applies to the element

      d: r15e: target
    • declaration contributes a declared value for this property on this element

      d: r15e: targetp: color
    • declaration is the cascaded value for this property on this element

      d: r15e: targetp: color
    • two declarations are sorted against each other by the cascade

      firstsecond
      r15r15
      l15r15
      r15l15
    • the specified value is the cascaded value itself

      d: r15e: targetp: color
    • origin and importance did not separate the declarations

      first: l15second: l15
    • encapsulation context did not separate the declarations

      first: l15second: l15
    • element-attached styles did not separate the declarations

      first: l15second: l15
    • cascade layers did not separate the declarations

      first: l15second: l15
    • origin and importance did not separate the declarations

      first: l15second: r15
    • encapsulation context did not separate the declarations

      first: l15second: r15
    • element-attached styles did not separate the declarations

      first: l15second: r15
    • origin and importance did not separate the declarations

      first: r15second: l15
    • encapsulation context did not separate the declarations

      first: r15second: l15
    • element-attached styles did not separate the declarations

      first: r15second: l15
    • origin and importance did not separate the declarations

      first: r15second: r15
    • encapsulation context did not separate the declarations

      first: r15second: r15
    • element-attached styles did not separate the declarations

      first: r15second: r15
    • cascade layers did not separate the declarations

      first: r15second: r15
    • some competing declaration wins the cascade over this one

      d: l15
    • specificity did not separate the declarations

      firstsecond
      r15r15
      l15l15
    for the purpose of the revert keyword the declaration belongs to the author origin
    d
    r15
    l15
    declaration is important
    d
    r15
    l15
    declaration belongs to this step of the origin-and-importance list
    dband
    r15Important author declarations
    l15Important author declarations
    declaration belongs to this cascade layer for the purpose of the cascade
    dlayer
    r15urn:case:css:layer:reset
    l15urn:case:css:layer:theme
    declaration is syntactically valid
    d
    l15
    r15
    declaration applies to the element
    de
    l15urn:case:css:element:target
    r15urn:case:css:element:target
    declaration contributes a declared value for this property on this element
    dep
    l15urn:case:css:element:targeturn:case:css:property:color
    r15urn:case:css:element:targeturn:case:css:property:color
    Граф связей
    urn:case:css:d:l15urn:case:css:d:r15
    two declarations are sorted against each other by the cascade
    firstsecond
    l15l15
    r15r15
    l15r15
    r15l15
    declaration is the cascaded value for this property on this element
    dep
    r15urn:case:css:element:targeturn:case:css:property:color
    the specified value is the cascaded value itself
    dep
    r15urn:case:css:element:targeturn:case:css:property:color
    Граф связей
    urn:case:css:d:l15urn:case:css:d:r15
    origin and importance did not separate the declarations
    firstsecond
    l15l15
    l15r15
    r15l15
    r15r15
    Граф связей
    urn:case:css:d:l15urn:case:css:d:r15
    encapsulation context did not separate the declarations
    firstsecond
    l15l15
    l15r15
    r15l15
    r15r15
    Граф связей
    urn:case:css:d:l15urn:case:css:d:r15
    element-attached styles did not separate the declarations
    firstsecond
    l15l15
    l15r15
    r15l15
    r15r15
    Граф связей
    urn:case:css:d:l15urn:case:css:d:r15
    cascade layers did not separate the declarations
    firstsecond
    l15l15
    r15r15
    Граф связей
    urn:case:css:d:r15urn:case:css:d:l15
    declaration is sorted before the other by the cascade
    winnerloser
    r15l15
    some competing declaration wins the cascade over this one
    d
    l15
    Граф связей
    urn:case:css:d:r15urn:case:css:d:l15
    specificity did not separate the declarations
    firstsecond
    r15r15
    l15l15

    Скрыто выведенных фактов: 8. В кратком ответе движок оставляет относящиеся к вопросу; полный перечень — в JSON расчёта ниже.

    Граф доказательств

    Граф доказательства · 10 слой
    query_evaluationwins_cascaderule_applicationLayerDecidesForImportantrule_applicationContributingLayersKeepDeclarationOrdrule_applicationElementAttachedTiedBothMappedrule_applicationExplicitlyAssignedDeclarationIsInTharule_applicationExplicitlyAssignedDeclarationIsInTharule_applicationImportantDeclarationrule_applicationImportantDeclarationrule_applicationTopLevelLayerContributesrule_applicationTopLevelLayerContributesassertionfirst_declared_beforerule_applicationContextTiedassertionmapped_by_style_ruleassertionmapped_by_style_ruleassertionassigned_to_layerassertionassigned_to_layerassertionhas_important_annotationassertionhas_important_annotationrule_applicationExplicitLayerByLayerBlockassertiondeclared_outside_conditional_grouprule_applicationExplicitLayerByLayerBlockassertiondeclared_outside_conditional_grouprule_applicationOriginAndImportanceTiedassertiondeclaration_contextassertiondeclaration_contextassertiondeclared_by_layer_blockassertiondeclared_by_layer_blockrule_applicationComparablerule_applicationImportantAuthorBandrule_applicationImportantAuthorBandassertionband_rankrule_applicationDeclaredValueContributedrule_applicationDeclaredValueContributedassertiondeclaration_originassertiondeclaration_originrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesassertionproperty_is_knownassertionvalue_matches_property_syntaxassertionproperty_is_knownassertionvalue_matches_property_syntax

    Узлы доказательств: 82 · assertion 30, rule_application 46, candidate_closure 5, query_evaluation 1

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓
    Идентификаторы календаря и доказательства
    Ссылка на доказательство
    mcp
    Исходное обоснование · JSON

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓
    ИсточникиФрагментов: 14

    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).
    Исходные данные · JSON
    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”.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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_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
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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]
    Исходные данные · JSON
    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]
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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.
    Исходные данные · JSON
    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."
        }
      ]
    }

    Пакеты в снимке

    • Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
    Технические данныеПолный ответ, параметры и контрольные суммы
    Статус расчёта
    COMPUTED
    Полный ответ движка
    wins_cascade: TRUE_ONLY — установлено Выведено правом: revert_origin_is_author(urn:case:css:d:r15); important(urn:case:css:d:r15); declaration_band(urn:case:css:d:r15, ImportantAuthorDeclarations); in_layer(urn:case:css:d:r15, urn:case:css:layer:reset); syntactically_valid(urn:case:css:d:l15); applies_to(urn:case:css:d:l15, urn:case:css:element:target); declared_value_for(urn:case:css:d:l15, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:l15, urn:case:css:d:l15); revert_origin_is_author(urn:case:css:d:l15); important(urn:case:css:d:l15); declaration_band(urn:case:css:d:l15, ImportantAuthorDeclarations); in_layer(urn:case:css:d:l15, urn:case:css:layer:theme); syntactically_valid(urn:case:css:d:r15); applies_to(urn:case:css:d:r15, urn:case:css:element:target); declared_value_for(urn:case:css:d:r15, urn:case:css:element:target, urn:case:css:property:color); cascaded_value_from(urn:case:css:d:r15, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:r15, urn:case:css:d:r15); comparable(urn:case:css:d:l15, urn:case:css:d:r15); comparable(urn:case:css:d:r15, urn:case:css:d:l15); specified_value_from_cascade(urn:case:css:d:r15, urn:case:css:element:target, urn:case:css:property:color); tied_after_band(urn:case:css:d:l15, urn:case:css:d:l15); tied_after_context(urn:case:css:d:l15, urn:case:css:d:l15); tied_after_element_attached(urn:case:css:d:l15, urn:case:css:d:l15); tied_after_layer(urn:case:css:d:l15, urn:case:css:d:l15); tied_after_band(urn:case:css:d:l15, urn:case:css:d:r15); tied_after_context(urn:case:css:d:l15, urn:case:css:d:r15); tied_after_element_attached(urn:case:css:d:l15, urn:case:css:d:r15); tied_after_band(urn:case:css:d:r15, urn:case:css:d:l15); tied_after_context(urn:case:css:d:r15, urn:case:css:d:l15); tied_after_element_attached(urn:case:css:d:r15, urn:case:css:d:l15); wins_cascade(urn:case:css:d:r15, urn:case:css:d:l15); tied_after_band(urn:case:css:d:r15, urn:case:css:d:r15); tied_after_context(urn:case:css:d:r15, urn:case:css:d:r15); tied_after_element_attached(urn:case:css:d:r15, urn:case:css:d:r15); tied_after_layer(urn:case:css:d:r15, urn:case:css:d:r15); outranked_by_some(urn:case:css:d:l15); tied_after_specificity(urn:case:css:d:r15, urn:case:css:d:r15); tied_after_specificity(urn:case:css:d:l15, urn:case:css:d:l15) …и ещё 8 выведенных фактов вне предмета вопроса (полный вывод — law_explain) Применены правила: CascadeYieldsValue, CascadedValueIsTheUnbeatenDeclaration, Comparable, ContextTied, ContributingLayersKeepDeclarationOrder, DeclarationApplies, DeclaredValueContributed, ElementAttachedTiedBothMapped, ExplicitLayerByLayerBlock, ExplicitLayersComeBeforeTheImplicitOuterLayer, ExplicitlyAssignedDeclarationIsInThatLayer, ImportantAuthorBand, ImportantDeclaration, LayerDecidesForImportant, LayerTied, OriginAndImportanceTied, OutrankedBySome, RevertOriginIsAuthorForAuthorOrigin, SpecificityTied, SpecifiedValueIsCascadedValue, SyntacticallyValid, TopLevelLayerContributes Право (W3C — издатель, не правопорядок): Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — EXECUTABLE 22 §33.1 (programHash sha256:16a3aec85364…) proof-граф: 82 узлов — поле evaluation готово для law_explain

    Полный машинный результат · JSON

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓

    Исполнение · JSON

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓

    Метаданные отображения

    Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

    Скачать JSON ↓

    JSON · расчёты, источники и точные данные

    JSONТолько чтение
    {
      "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_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:175d6dd6602ddd2d557bd254a302bb0dc331cf4c16e57b32cc766c2f91bb5734",
      "codeHash": "sha256:9bcca6a33805c1c364ca1bc8e9d39d6a9c51ba44203c0406bafbf397b96be699",
      "jurisdiction": "W3C — издатель, не правопорядок",
      "legalTime": "2026-09-06",
      "mode": "audit",
      "programHash": "sha256:16a3aec853641d93baf8b975f4049939810d60a17ec2b8885d7cf40c74cbbaf5",
      "resultHash": "sha256:aaf840809c3b64696b99fa44032ee3667900b3fbec13aa1282919e0e0769cf2a",
      "rustCodeHash": "sha256:d368cafc7162ed7a6563df5e5c943a57be26fa8aeb3179b530fe3bdd67fe9be4",
      "timezone": "Asia/Qyzylorda"
    }
    evaluation SHA-256
    sha256:227a1fd20627adae1f8e537d00e91c6d1997b5d0340bc4df0355f474ac21d635
    Исходные данные · JSON
    JSONТолько чтение
    {
      "args": [
        "urn:case:css:d:r15",
        "urn:case:css:d:l15"
      ],
      "facts": [
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "declaration_recorded"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "in_applicable_style_sheet"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "qualifying_conditions_true"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "property_is_known"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "value_matches_property_syntax"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:element:target"
          ],
          "predicate": "selector_matches"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:property:color"
          ],
          "predicate": "declares_property"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:context:light-dom"
          ],
          "predicate": "declaration_context"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            0,
            0,
            1
          ],
          "predicate": "specificity"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            1
          ],
          "predicate": "document_order"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "AuthorOrigin"
          ],
          "predicate": "declaration_origin"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "has_important_annotation"
        },
        {
          "args": [
            "urn:case:css:d:r15"
          ],
          "predicate": "mapped_by_style_rule"
        },
        {
          "args": [
            "urn:case:css:d:r15",
            "urn:case:css:layer:reset"
          ],
          "predicate": "assigned_to_layer"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "declaration_recorded"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "in_applicable_style_sheet"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "qualifying_conditions_true"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "property_is_known"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "value_matches_property_syntax"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:element:target"
          ],
          "predicate": "selector_matches"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:property:color"
          ],
          "predicate": "declares_property"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:context:light-dom"
          ],
          "predicate": "declaration_context"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            0,
            0,
            1
          ],
          "predicate": "specificity"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            2
          ],
          "predicate": "document_order"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "AuthorOrigin"
          ],
          "predicate": "declaration_origin"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "has_important_annotation"
        },
        {
          "args": [
            "urn:case:css:d:l15"
          ],
          "predicate": "mapped_by_style_rule"
        },
        {
          "args": [
            "urn:case:css:d:l15",
            "urn:case:css:layer:theme"
          ],
          "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
    }

    Для важных объявлений порядок слоёв обратный — это отдельное правило, а не исключение из предыдущего.

    Проверка условия

    Вне слоёв бьёт слоевое

    Юрисдикция W3C — издатель, не правопорядокПраво на дату 06.09.2026

    Результат расчёта

    Установлено

    Исходные параметры

    Что определяем

    declaration is sorted before the other by the cascade

    audioaudio-controls

    Исходные факты

    • declaration is among the declarations the case records

      d: audio
    • declaration belongs to a style sheet that currently applies to this document

      d: audio
    • every conditional rule qualifying the declaration has a true condition

      d: audio
    • the declaration's property is a known property name

      d: audio
    • the declaration's value matches the syntax for that property

      d: audio
    • declaration belongs to a style rule whose selector matches the element

      d: audioe: target
    • declaration declares this property

      d: audiop: display
    • declaration is sourced from this encapsulation context

      d: audioencapsulation: light-dom
    • specificity of the style rule the declaration appears in, as computed by the Selectors module

      d: audioa: 0b: 0c: 1
    • position of the declaration in document order

      d: audioposition: 1
    • declaration has this cascade origin

      d: audioorigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
    • declaration is mapped by means of a style rule selector

      d: audio
    • declaration is not assigned to any explicit cascade layer

      d: audio
    • declaration is among the declarations the case records

      d: audio-controls
    • declaration belongs to a style sheet that currently applies to this document

      d: audio-controls
    • every conditional rule qualifying the declaration has a true condition

      d: audio-controls
    • the declaration's property is a known property name

      d: audio-controls
    • the declaration's value matches the syntax for that property

      d: audio-controls
    • declaration belongs to a style rule whose selector matches the element

      d: audio-controlse: target
    • declaration declares this property

      d: audio-controlsp: display
    • declaration is sourced from this encapsulation context

      d: audio-controlsencapsulation: light-dom
    • specificity of the style rule the declaration appears in, as computed by the Selectors module

      d: audio-controlsa: 0b: 1c: 1
    • position of the declaration in document order

      d: audio-controlsposition: 2
    • declaration has this cascade origin

      d: audio-controlsorigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
    • declaration is mapped by means of a style rule selector

      d: audio-controls
    • declaration is explicitly assigned to this cascade layer

      d: audio-controlslayer: reset
    • layer is declared using a @layer block at-rule

      layer: reset
    • layer is not defined inside a conditional group rule

      layer: reset

    Пакет: Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан

    Дополнительные сведения

    Сохранить доказательство
    Да
    Исходные данные · JSON
    JSONТолько чтение
    {
      "args": [
        "urn:case:css:d:audio",
        "urn:case:css:d:audio-controls"
      ],
      "facts": [
        {
          "args": [
            "urn:case:css:d:audio"
          ],
          "predicate": "declaration_recorded"
        },
        {
          "args": [
            "urn:case:css:d:audio"
          ],
          "predicate": "in_applicable_style_sheet"
        },
        {
          "args": [
            "urn:case:css:d:audio"
          ],
          "predicate": "qualifying_conditions_true"
        },
        {
          "args": [
            "urn:case:css:d:audio"
          ],
          "predicate": "property_is_known"
        },
        {
          "args": [
            "urn:case:css:d:audio"
          ],
          "predicate": "value_matches_property_syntax"
        },
        {
          "args": [
            "urn:case:css:d:audio",
            "urn:case:css:element:target"
          ],
          "predicate": "selector_matches"
        },
        {
          "args": [
            "urn:case:css:d:audio",
            "urn:case:css:property:display"
          ],
          "predicate": "declares_property"
        },
        {
          "args": [
            "urn:case:css:d:audio",
            "urn:case:css:context:light-dom"
          ],
          "predicate": "declaration_context"
        },
        {
          "args": [
            "urn:case:css:d:audio",
            0,
            0,
            1
          ],
          "predicate": "specificity"
        },
        {
          "args": [
            "urn:case:css:d:audio",
            1
          ],
          "predicate": "document_order"
        },
        {
          "args": [
            "urn:case:css:d:audio",
            "AuthorOrigin"
          ],
          "predicate": "declaration_origin"
        },
        {
          "args": [
            "urn:case:css:d:audio"
          ],
          "predicate": "mapped_by_style_rule"
        },
        {
          "args": [
            "urn:case:css:d:audio"
          ],
          "predicate": "unlayered_declaration"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls"
          ],
          "predicate": "declaration_recorded"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls"
          ],
          "predicate": "in_applicable_style_sheet"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls"
          ],
          "predicate": "qualifying_conditions_true"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls"
          ],
          "predicate": "property_is_known"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls"
          ],
          "predicate": "value_matches_property_syntax"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls",
            "urn:case:css:element:target"
          ],
          "predicate": "selector_matches"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls",
            "urn:case:css:property:display"
          ],
          "predicate": "declares_property"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls",
            "urn:case:css:context:light-dom"
          ],
          "predicate": "declaration_context"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls",
            0,
            1,
            1
          ],
          "predicate": "specificity"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls",
            2
          ],
          "predicate": "document_order"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls",
            "AuthorOrigin"
          ],
          "predicate": "declaration_origin"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls"
          ],
          "predicate": "mapped_by_style_rule"
        },
        {
          "args": [
            "urn:case:css:d:audio-controls",
            "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"
        }
      ],
      "kind": "truth",
      "legalTime": "2026-09-06",
      "package": "w3c-css-cascade",
      "predicate": "wins_cascade",
      "proof": true
    }
    Почему такой результатПрименённые правила и условия

    Путь вывода48 шагов

    1. 1

      declaration is among the declarations the case records

      d: urn:case:css:d:audio

      факт дела
    2. 2

      declaration has this cascade origin

      d: urn:case:css:d:audio; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

      факт дела
    3. 3

      declaration is mapped by means of a style rule selector

      d: urn:case:css:d:audio

      факт дела
    4. 4

      declaration is not assigned to any explicit cascade layer

      d: urn:case:css:d:audio

      факт дела
    5. 5

      Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

      declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:audio; layer: implicit outer layer, which unlayered style rules are added to

      разд. 6_1, разд. 6_4_3

      Идентификатор
      urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
      правило
    6. 6

      declaration is among the declarations the case records

      d: urn:case:css:d:audio-controls

      факт дела
    7. 7

      declaration belongs to a style sheet that currently applies to this document

      d: urn:case:css:d:audio-controls

      факт дела
    8. 8

      every conditional rule qualifying the declaration has a true condition

      d: urn:case:css:d:audio-controls

      факт дела
    9. 9

      the declaration's property is a known property name

      d: urn:case:css:d:audio-controls

      факт дела
    10. 10

      the declaration's value matches the syntax for that property

      d: urn:case:css:d:audio-controls

      факт дела
    11. 11

      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:audio-controls

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#SyntacticallyValid
      правило
    12. 12

      declaration belongs to a style rule whose selector matches the element

      d: urn:case:css:d:audio-controls; e: urn:case:css:element:target

      факт дела
    13. 13

      Section 5. A declaration applies to an element when all four filtering conditions hold

      declaration applies to the element: d: urn:case:css:d:audio-controls; e: urn:case:css:element:target

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#DeclarationApplies
      правило
    14. 14

      declaration belongs to a style sheet that currently applies to this document

      d: urn:case:css:d:audio

      факт дела
    15. 15

      declaration declares this property

      d: urn:case:css:d:audio-controls; p: urn:case:css:property:display

      факт дела
    16. 16

      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:audio-controls; e: urn:case:css:element:target; p: urn:case:css:property:display

      разд. 4_1, разд. 4

      Идентификатор
      urn:w3c:clir:css-cascade#DeclaredValueContributed
      правило
    17. 17

      declaration is sourced from this encapsulation context

      d: urn:case:css:d:audio-controls; encapsulation: urn:case:css:context:light-dom

      факт дела
    18. 18

      declaration has this cascade origin

      d: urn:case:css:d:audio-controls; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

      факт дела
    19. 19

      declaration is mapped by means of a style rule selector

      d: urn:case:css:d:audio-controls

      факт дела
    20. 20

      declaration is explicitly assigned to this cascade layer

      d: urn:case:css:d:audio-controls; layer: urn:case:css:layer:reset

      факт дела
    21. 21

      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:audio-controls; layer: urn:case:css:layer:reset

      разд. 6_4_3, разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
      правило
    22. 22

      layer is declared using a @layer block at-rule

      layer: urn:case:css:layer:reset

      факт дела
    23. 23

      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

      разд. 6_4_1

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
      правило
    24. 24

      layer is not defined inside a conditional group rule

      layer: urn:case:css:layer:reset

      факт дела
    25. 25

      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

      разд. 6_4_3

      Идентификатор
      urn:w3c:clir:css-cascade#TopLevelLayerContributes
      правило
    26. 26

      Section 6.4.3. Unlayered style rules are added to an implicit outer layer which has higher priority than (comes after) the explicit layers

      the first layer comes before the second in the layer order: early: urn:case:css:layer:reset; late: implicit outer layer, which unlayered style rules are added to

      разд. 6_4_3

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayersComeBeforeTheImplicitOuterLayer
      правило
    27. 27

      every conditional rule qualifying the declaration has a true condition

      d: urn:case:css:d:audio

      факт дела
    28. 28

      the declaration's property is a known property name

      d: urn:case:css:d:audio

      факт дела
    29. 29

      the declaration's value matches the syntax for that property

      d: urn:case:css:d:audio

      факт дела
    30. 30

      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:audio

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#SyntacticallyValid
      правило
    31. 31

      declaration belongs to a style rule whose selector matches the element

      d: urn:case:css:d:audio; e: urn:case:css:element:target

      факт дела
    32. 32

      Section 5. A declaration applies to an element when all four filtering conditions hold

      declaration applies to the element: d: urn:case:css:d:audio; e: urn:case:css:element:target

      разд. 5

      Идентификатор
      urn:w3c:clir:css-cascade#DeclarationApplies
      правило
    33. 33

      declaration declares this property

      d: urn:case:css:d:audio; p: urn:case:css:property:display

      факт дела
    34. 34

      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:audio; e: urn:case:css:element:target; p: urn:case:css:property:display

      разд. 4_1, разд. 4

      Идентификатор
      urn:w3c:clir:css-cascade#DeclaredValueContributed
      правило
    35. 35

      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:audio; second: urn:case:css:d:audio-controls

      разд. 6, разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#Comparable
      правило
    36. 36

      declaration is sourced from this encapsulation context

      d: urn:case:css:d:audio; encapsulation: urn:case:css:context:light-dom

      факт дела
    37. 37

      band occupies this position in the origin-and-importance precedence list

      band: Normal author declarations; rank: 60

      происхождение не записано
    38. 38

      the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

      не 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:audio

      происхождение не записано
    39. 39

      Section 6.3. All other declarations are normal (non-important)

      declaration is normal (non-important): d: urn:case:css:d:audio

      разд. 6_3

      Идентификатор
      urn:w3c:clir:css-cascade#NormalDeclaration
      правило
    40. 40

      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:audio; band: Normal author declarations

      разд. 6_1, разд. 6_2

      Идентификатор
      urn:w3c:clir:css-cascade#NormalAuthorBand
      правило
    41. 41

      the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

      не 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:audio-controls

      происхождение не записано
    42. 42

      Section 6.3. All other declarations are normal (non-important)

      declaration is normal (non-important): d: urn:case:css:d:audio-controls

      разд. 6_3

      Идентификатор
      urn:w3c:clir:css-cascade#NormalDeclaration
      правило
    43. 43

      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:audio-controls; band: Normal author declarations

      разд. 6_1, разд. 6_2

      Идентификатор
      urn:w3c:clir:css-cascade#NormalAuthorBand
      правило
    44. 44

      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:audio; second: urn:case:css:d:audio-controls

      разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#OriginAndImportanceTied
      правило
    45. 45

      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:audio; second: urn:case:css:d:audio-controls

      разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#ContextTied
      правило
    46. 46

      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:audio; second: urn:case:css:d:audio-controls

      разд. 6_1

      Идентификатор
      urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
      правило
    47. 47

      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:audio; loser: urn:case:css:d:audio-controls

      разд. 6_1, разд. 6_4

      Идентификатор
      urn:w3c:clir:css-cascade#LayerDecidesForNormal
      правило
    48. 48

      Вычисление запроса

      запрос

    проверено движком: 21 · факт дела: 24 · происхождение не записано: 3 · Полный граф: 77 узлов

    Шаги сохранённого доказательства от фактов дела к ответу. Формулы показаны как записаны в норме, с подставленными значениями; страница ничего не пересчитывает.

    Основание этого ответа

    Правила из сохранённой цепочки доказательства ответа.

    Каскад и умолчания 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

      Идентификатор
      urn:w3c:clir:css-cascade#Comparable
    • Section 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#ContextTied
    • Section 5. A declaration applies to an element when all four filtering conditions hold

      Идентификатор
      urn:w3c:clir:css-cascade#DeclarationApplies
    • Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element

      Идентификатор
      urn:w3c:clir:css-cascade#DeclaredValueContributed
    • Section 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
    • Section 6.4.1. A cascade layer can be declared using a @layer block at-rule, assigning its child style rules into that layer

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayerByLayerBlock
    • Section 6.4.3. Unlayered style rules are added to an implicit outer layer which has higher priority than (comes after) the explicit layers

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitLayersComeBeforeTheImplicitOuterLayer
    • Section 6.4.3. Declarations within each origin and context can be explicitly assigned to a cascade layer

      Идентификатор
      urn:w3c:clir:css-cascade#ExplicitlyAssignedDeclarationIsInThatLayer
    • Section 6.1, Layers. For normal rules the declaration whose cascade layer is last wins

      Идентификатор
      urn:w3c:clir:css-cascade#LayerDecidesForNormal
    • Section 6.1. Normal author declarations occupy the sixth step of the precedence list

      Идентификатор
      urn:w3c:clir:css-cascade#NormalAuthorBand
    • Section 6.3. All other declarations are normal (non-important)

      Идентификатор
      urn:w3c:clir:css-cascade#NormalDeclaration
    • Section 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#OriginAndImportanceTied
    • Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property

      Идентификатор
      urn:w3c:clir:css-cascade#SyntacticallyValid
    • Section 6.4.3. A layer not defined inside a conditional group rule contributes to the layer order

      Идентификатор
      urn:w3c:clir:css-cascade#TopLevelLayerContributes
    • Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

      Идентификатор
      urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
    Другие правила расчёта7

    Применены в общем расчёте, но не входят в цепочку доказательства этого ответа.

    Каскад и умолчания 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

      Идентификатор
      urn:w3c:clir:css-cascade#CascadeYieldsValue
    • Section 4.2. The cascaded value is the declared value that wins the cascade: the one no competing declaration outranks

      Идентификатор
      urn:w3c:clir:css-cascade#CascadedValueIsTheUnbeatenDeclaration
    • Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#LayerTied
    • Section 4.2. A declaration is outranked when some competing declaration wins the cascade over it

      Идентификатор
      urn:w3c:clir:css-cascade#OutrankedBySome
    • Section 7.3.4. For the purpose of revert, a declaration in the author origin belongs to the author origin

      Идентификатор
      urn:w3c:clir:css-cascade#RevertOriginIsAuthorForAuthorOrigin
    • Section 6.1, Specificity. The declarations have equal specificity: the next criterion applies

      Идентификатор
      urn:w3c:clir:css-cascade#SpecificityTied
    • Section 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

      Идентификатор
      urn:w3c:clir:css-cascade#SpecifiedValueIsCascadedValue

    Вывод по запросу

    • declaration is sorted before the other by the cascade

      winner: audioloser: audio-controls
    Другие выводы37
    • for the purpose of the revert keyword the declaration belongs to the author origin

      d: audio
    • declaration belongs to this cascade layer for the purpose of the cascade

      d: audiolayer: implicit outer layer, which unlayered style rules are added to
    • declaration is syntactically valid

      d: audio-controls
    • declaration applies to the element

      d: audio-controlse: target
    • declaration contributes a declared value for this property on this element

      d: audio-controlse: targetp: display
    • two declarations are sorted against each other by the cascade

      first: audio-controlssecond: audio-controls
    • for the purpose of the revert keyword the declaration belongs to the author origin

      d: audio-controls
    • declaration belongs to this cascade layer for the purpose of the cascade

      d: audio-controlslayer: reset
    • declaration is syntactically valid

      d: audio
    • declaration applies to the element

      d: audioe: target
    • declaration contributes a declared value for this property on this element

      d: audioe: targetp: display
    • declaration is the cascaded value for this property on this element

      d: audioe: targetp: display
    • two declarations are sorted against each other by the cascade

      firstsecond
      audio-controlsaudio
      audioaudio
      audioaudio-controls
    • the specified value is the cascaded value itself

      d: audioe: targetp: display
    • declaration is normal (non-important)

      d: audio
    • declaration belongs to this step of the origin-and-importance list

      d: audioband: Normal author declarations
    • origin and importance did not separate the declarations

      first: audiosecond: audio
    • encapsulation context did not separate the declarations

      first: audiosecond: audio
    • element-attached styles did not separate the declarations

      first: audiosecond: audio
    • cascade layers did not separate the declarations

      first: audiosecond: audio
    • specificity did not separate the declarations

      first: audiosecond: audio
    • declaration is normal (non-important)

      d: audio-controls
    • declaration belongs to this step of the origin-and-importance list

      d: audio-controlsband: Normal author declarations
    • origin and importance did not separate the declarations

      first: audiosecond: audio-controls
    • encapsulation context did not separate the declarations

      first: audiosecond: audio-controls
    • element-attached styles did not separate the declarations

      first: audiosecond: audio-controls
    • origin and importance did not separate the declarations

      first: audio-controlssecond: audio
    • encapsulation context did not separate the declarations

      first: audio-controlssecond: audio
    • element-attached styles did not separate the declarations

      first: audio-controlssecond: audio
    • origin and importance did not separate the declarations

      first: audio-controlssecond: audio-controls
    • encapsulation context did not separate the declarations

      first: audio-controlssecond: audio-controls
    • element-attached styles did not separate the declarations

      first: audio-controlssecond: audio-controls
    • cascade layers did not separate the declarations

      first: audio-controlssecond: audio-controls
    • some competing declaration wins the cascade over this one

      d: audio-controls
    • specificity did not separate the declarations

      first: audio-controlssecond: audio-controls
    for the purpose of the revert keyword the declaration belongs to the author origin
    d
    audio
    audio-controls
    declaration belongs to this cascade layer for the purpose of the cascade
    dlayer
    audioimplicit outer layer, which unlayered style rules are added to
    audio-controlsurn:case:css:layer:reset
    declaration is syntactically valid
    d
    audio-controls
    audio
    declaration applies to the element
    de
    audio-controlsurn:case:css:element:target
    audiourn:case:css:element:target
    declaration contributes a declared value for this property on this element
    dep
    audio-controlsurn:case:css:element:targeturn:case:css:property:display
    audiourn:case:css:element:targeturn:case:css:property:display
    Граф связей
    urn:case:css:d:audio-controlsurn:case:css:d:audio
    two declarations are sorted against each other by the cascade
    firstsecond
    audio-controlsaudio-controls
    audio-controlsaudio
    audioaudio
    audioaudio-controls
    declaration is the cascaded value for this property on this element
    dep
    audiourn:case:css:element:targeturn:case:css:property:display
    the specified value is the cascaded value itself
    dep
    audiourn:case:css:element:targeturn:case:css:property:display
    declaration is normal (non-important)
    d
    audio
    audio-controls
    declaration belongs to this step of the origin-and-importance list
    dband
    audioNormal author declarations
    audio-controlsNormal author declarations
    Граф связей
    urn:case:css:d:audiourn:case:css:d:audio-controls
    origin and importance did not separate the declarations
    firstsecond
    audioaudio
    audioaudio-controls
    audio-controlsaudio
    audio-controlsaudio-controls
    Граф связей
    urn:case:css:d:audiourn:case:css:d:audio-controls
    encapsulation context did not separate the declarations
    firstsecond
    audioaudio
    audioaudio-controls
    audio-controlsaudio
    audio-controlsaudio-controls
    Граф связей
    urn:case:css:d:audiourn:case:css:d:audio-controls
    element-attached styles did not separate the declarations
    firstsecond
    audioaudio
    audioaudio-controls
    audio-controlsaudio
    audio-controlsaudio-controls
    Граф связей
    urn:case:css:d:audiourn:case:css:d:audio-controls
    cascade layers did not separate the declarations
    firstsecond
    audioaudio
    audio-controlsaudio-controls
    Граф связей
    urn:case:css:d:audiourn:case:css:d:audio-controls
    specificity did not separate the declarations
    firstsecond
    audioaudio
    audio-controlsaudio-controls
    Граф связей
    urn:case:css:d:audiourn:case:css:d:audio-controls
    declaration is sorted before the other by the cascade
    winnerloser
    audioaudio-controls
    some competing declaration wins the cascade over this one
    d
    audio-controls

    Скрыто выведенных фактов: 4. В кратком ответе движок оставляет относящиеся к вопросу; полный перечень — в JSON расчёта ниже.

    Граф доказательств

    Закрытый перечень: the set of declarations carrying the !important annotation is closed by the case

    закрытый предикат the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important · снимок urn:w3c:clir:css-cascade:snapshot:declarations:case · полон на

    в перечне
      не в перечне (явный негатив по замыканию)
      • urn:case:css:d:audio
      • urn:case:css:d:audio-controls

      Перечень закрыт объявлением §70: отсутствие записи в снимке даёт явный негатив с сертификатом анти-принадлежности (§231.1). Списки — узлы графа доказательства, как их записало исполнение.

      Граф доказательства · 10 слой
      query_evaluationwins_cascaderule_applicationLayerDecidesForNormalrule_applicationElementAttachedTiedBothMappedrule_applicationExplicitLayersComeBeforeTheImplicitOrule_applicationExplicitlyAssignedDeclarationIsInTharule_applicationNormalDeclarationrule_applicationNormalDeclarationrule_applicationUnlayeredDeclarationIsInTheImplicitOrule_applicationContextTiedassertionmapped_by_style_ruleassertionmapped_by_style_rulerule_applicationExplicitLayerByLayerBlockrule_applicationTopLevelLayerContributesassertionassigned_to_layerassertiondeclaration_recordedassertionhas_important_annotationassertiondeclaration_recordedassertionhas_important_annotationassertionunlayered_declarationrule_applicationOriginAndImportanceTiedassertiondeclaration_contextassertiondeclaration_contextassertiondeclared_by_layer_blockassertiondeclared_outside_conditional_grouprule_applicationComparablerule_applicationNormalAuthorBandrule_applicationNormalAuthorBandassertionband_rankrule_applicationDeclaredValueContributedrule_applicationDeclaredValueContributedassertiondeclaration_originassertiondeclaration_originrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesassertionproperty_is_knownassertionvalue_matches_property_syntaxassertionproperty_is_knownassertionvalue_matches_property_syntax

      Узлы доказательств: 77 · assertion 29, rule_application 42, candidate_closure 5, query_evaluation 1

      Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

      Скачать JSON ↓
      Идентификаторы календаря и доказательства
      Ссылка на доказательство
      mcp
      Исходное обоснование · JSON

      Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

      Скачать JSON ↓
      ИсточникиФрагментов: 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).
      Исходные данные · JSON
      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”.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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]
      Исходные данные · JSON
      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]
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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.
      Исходные данные · JSON
      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."
          }
        ]
      }

      Пакеты в снимке

      • Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
      Технические данныеПолный ответ, параметры и контрольные суммы
      Статус расчёта
      COMPUTED
      Полный ответ движка
      wins_cascade: TRUE_ONLY — установлено Выведено правом: revert_origin_is_author(urn:case:css:d:audio); in_layer(urn:case:css:d:audio, ImplicitOuterLayer); syntactically_valid(urn:case:css:d:audio-controls); applies_to(urn:case:css:d:audio-controls, urn:case:css:element:target); declared_value_for(urn:case:css:d:audio-controls, urn:case:css:element:target, urn:case:css:property:display); comparable(urn:case:css:d:audio-controls, urn:case:css:d:audio-controls); revert_origin_is_author(urn:case:css:d:audio-controls); in_layer(urn:case:css:d:audio-controls, urn:case:css:layer:reset); syntactically_valid(urn:case:css:d:audio); applies_to(urn:case:css:d:audio, urn:case:css:element:target); declared_value_for(urn:case:css:d:audio, urn:case:css:element:target, urn:case:css:property:display); cascaded_value_from(urn:case:css:d:audio, urn:case:css:element:target, urn:case:css:property:display); comparable(urn:case:css:d:audio-controls, urn:case:css:d:audio); comparable(urn:case:css:d:audio, urn:case:css:d:audio); comparable(urn:case:css:d:audio, urn:case:css:d:audio-controls); specified_value_from_cascade(urn:case:css:d:audio, urn:case:css:element:target, urn:case:css:property:display); normal(urn:case:css:d:audio); declaration_band(urn:case:css:d:audio, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:audio, urn:case:css:d:audio); tied_after_context(urn:case:css:d:audio, urn:case:css:d:audio); tied_after_element_attached(urn:case:css:d:audio, urn:case:css:d:audio); tied_after_layer(urn:case:css:d:audio, urn:case:css:d:audio); tied_after_specificity(urn:case:css:d:audio, urn:case:css:d:audio); normal(urn:case:css:d:audio-controls); declaration_band(urn:case:css:d:audio-controls, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:audio, urn:case:css:d:audio-controls); tied_after_context(urn:case:css:d:audio, urn:case:css:d:audio-controls); tied_after_element_attached(urn:case:css:d:audio, urn:case:css:d:audio-controls); wins_cascade(urn:case:css:d:audio, urn:case:css:d:audio-controls); tied_after_band(urn:case:css:d:audio-controls, urn:case:css:d:audio); tied_after_context(urn:case:css:d:audio-controls, urn:case:css:d:audio); tied_after_element_attached(urn:case:css:d:audio-controls, urn:case:css:d:audio); tied_after_band(urn:case:css:d:audio-controls, urn:case:css:d:audio-controls); tied_after_context(urn:case:css:d:audio-controls, urn:case:css:d:audio-controls); tied_after_element_attached(urn:case:css:d:audio-controls, urn:case:css:d:audio-controls); tied_after_layer(urn:case:css:d:audio-controls, urn:case:css:d:audio-controls); outranked_by_some(urn:case:css:d:audio-controls); tied_after_specificity(urn:case:css:d:audio-controls, urn:case:css:d:audio-controls) …и ещё 4 выведенных фактов вне предмета вопроса (полный вывод — law_explain) Применены правила: CascadeYieldsValue, CascadedValueIsTheUnbeatenDeclaration, Comparable, ContextTied, DeclarationApplies, DeclaredValueContributed, ElementAttachedTiedBothMapped, ExplicitLayerByLayerBlock, ExplicitLayersComeBeforeTheImplicitOuterLayer, ExplicitlyAssignedDeclarationIsInThatLayer, LayerDecidesForNormal, LayerTied, NormalAuthorBand, NormalDeclaration, OriginAndImportanceTied, OutrankedBySome, RevertOriginIsAuthorForAuthorOrigin, SpecificityTied, SpecifiedValueIsCascadedValue, SyntacticallyValid, TopLevelLayerContributes, UnlayeredDeclarationIsInTheImplicitOuterLayer Право (W3C — издатель, не правопорядок): Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — EXECUTABLE 22 §33.1 (programHash sha256:16a3aec85364…) proof-граф: 77 узлов — поле evaluation готово для law_explain

      Полный машинный результат · JSON

      Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

      Скачать JSON ↓

      Исполнение · JSON

      Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

      Скачать JSON ↓

      Метаданные отображения

      Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

      Скачать JSON ↓

      JSON · расчёты, источники и точные данные

      JSONТолько чтение
      {
        "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:897cdb338f699c4860fd86d0d3b89c932748e63dd56802f2425f93f0be7f905b",
        "codeHash": "sha256:9bcca6a33805c1c364ca1bc8e9d39d6a9c51ba44203c0406bafbf397b96be699",
        "jurisdiction": "W3C — издатель, не правопорядок",
        "legalTime": "2026-09-06",
        "mode": "audit",
        "programHash": "sha256:16a3aec853641d93baf8b975f4049939810d60a17ec2b8885d7cf40c74cbbaf5",
        "resultHash": "sha256:8db350ff1c7cd5c005da73c01d3b0c1753e83c1f587775c06a38fdc98f80a1f4",
        "rustCodeHash": "sha256:d368cafc7162ed7a6563df5e5c943a57be26fa8aeb3179b530fe3bdd67fe9be4",
        "timezone": "Asia/Qyzylorda"
      }
      evaluation SHA-256
      sha256:871e8f2a70cfbb70f84c818166f87a579418dd6cf49dc36d9ccbf75f091fd418
      Исходные данные · JSON
      JSONТолько чтение
      {
        "args": [
          "urn:case:css:d:audio",
          "urn:case:css:d:audio-controls"
        ],
        "facts": [
          {
            "args": [
              "urn:case:css:d:audio"
            ],
            "predicate": "declaration_recorded"
          },
          {
            "args": [
              "urn:case:css:d:audio"
            ],
            "predicate": "in_applicable_style_sheet"
          },
          {
            "args": [
              "urn:case:css:d:audio"
            ],
            "predicate": "qualifying_conditions_true"
          },
          {
            "args": [
              "urn:case:css:d:audio"
            ],
            "predicate": "property_is_known"
          },
          {
            "args": [
              "urn:case:css:d:audio"
            ],
            "predicate": "value_matches_property_syntax"
          },
          {
            "args": [
              "urn:case:css:d:audio",
              "urn:case:css:element:target"
            ],
            "predicate": "selector_matches"
          },
          {
            "args": [
              "urn:case:css:d:audio",
              "urn:case:css:property:display"
            ],
            "predicate": "declares_property"
          },
          {
            "args": [
              "urn:case:css:d:audio",
              "urn:case:css:context:light-dom"
            ],
            "predicate": "declaration_context"
          },
          {
            "args": [
              "urn:case:css:d:audio",
              0,
              0,
              1
            ],
            "predicate": "specificity"
          },
          {
            "args": [
              "urn:case:css:d:audio",
              1
            ],
            "predicate": "document_order"
          },
          {
            "args": [
              "urn:case:css:d:audio",
              "AuthorOrigin"
            ],
            "predicate": "declaration_origin"
          },
          {
            "args": [
              "urn:case:css:d:audio"
            ],
            "predicate": "mapped_by_style_rule"
          },
          {
            "args": [
              "urn:case:css:d:audio"
            ],
            "predicate": "unlayered_declaration"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls"
            ],
            "predicate": "declaration_recorded"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls"
            ],
            "predicate": "in_applicable_style_sheet"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls"
            ],
            "predicate": "qualifying_conditions_true"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls"
            ],
            "predicate": "property_is_known"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls"
            ],
            "predicate": "value_matches_property_syntax"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls",
              "urn:case:css:element:target"
            ],
            "predicate": "selector_matches"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls",
              "urn:case:css:property:display"
            ],
            "predicate": "declares_property"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls",
              "urn:case:css:context:light-dom"
            ],
            "predicate": "declaration_context"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls",
              0,
              1,
              1
            ],
            "predicate": "specificity"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls",
              2
            ],
            "predicate": "document_order"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls",
              "AuthorOrigin"
            ],
            "predicate": "declaration_origin"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls"
            ],
            "predicate": "mapped_by_style_rule"
          },
          {
            "args": [
              "urn:case:css:d:audio-controls",
              "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"
          }
        ],
        "kind": "truth",
        "legalTime": "2026-09-06",
        "package": "w3c-css-cascade",
        "predicate": "wins_cascade",
        "proof": true
      }

      Объявление вне слоёв выигрывает, даже когда его специфичность ниже.

      Проверка условия

      Специфичность: первая компонента

      Юрисдикция W3C — издатель, не правопорядокПраво на дату 06.09.2026

      Результат расчёта

      Установлено

      Исходные параметры

      Что определяем

      declaration is sorted before the other by the cascade

      s17as17b

      Исходные факты

      • declaration is among the declarations the case records

        d: s17a
      • declaration belongs to a style sheet that currently applies to this document

        d: s17a
      • every conditional rule qualifying the declaration has a true condition

        d: s17a
      • the declaration's property is a known property name

        d: s17a
      • the declaration's value matches the syntax for that property

        d: s17a
      • declaration belongs to a style rule whose selector matches the element

        d: s17ae: target
      • declaration declares this property

        d: s17ap: color
      • declaration is sourced from this encapsulation context

        d: s17aencapsulation: light-dom
      • specificity of the style rule the declaration appears in, as computed by the Selectors module

        d: s17aa: 1b: 0c: 0
      • position of the declaration in document order

        d: s17aposition: 1
      • declaration has this cascade origin

        d: s17aorigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
      • declaration is mapped by means of a style rule selector

        d: s17a
      • declaration is not assigned to any explicit cascade layer

        d: s17a
      • declaration is among the declarations the case records

        d: s17b
      • declaration belongs to a style sheet that currently applies to this document

        d: s17b
      • every conditional rule qualifying the declaration has a true condition

        d: s17b
      • the declaration's property is a known property name

        d: s17b
      • the declaration's value matches the syntax for that property

        d: s17b
      • declaration belongs to a style rule whose selector matches the element

        d: s17be: target
      • declaration declares this property

        d: s17bp: color
      • declaration is sourced from this encapsulation context

        d: s17bencapsulation: light-dom
      • specificity of the style rule the declaration appears in, as computed by the Selectors module

        d: s17ba: 0b: 9c: 9
      • position of the declaration in document order

        d: s17bposition: 2
      • declaration has this cascade origin

        d: s17borigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
      • declaration is mapped by means of a style rule selector

        d: s17b
      • declaration is not assigned to any explicit cascade layer

        d: s17b

      Пакет: Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан

      Дополнительные сведения

      Сохранить доказательство
      Да
      Исходные данные · JSON
      JSONТолько чтение
      {
        "args": [
          "urn:case:css:d:s17a",
          "urn:case:css:d:s17b"
        ],
        "facts": [
          {
            "args": [
              "urn:case:css:d:s17a"
            ],
            "predicate": "declaration_recorded"
          },
          {
            "args": [
              "urn:case:css:d:s17a"
            ],
            "predicate": "in_applicable_style_sheet"
          },
          {
            "args": [
              "urn:case:css:d:s17a"
            ],
            "predicate": "qualifying_conditions_true"
          },
          {
            "args": [
              "urn:case:css:d:s17a"
            ],
            "predicate": "property_is_known"
          },
          {
            "args": [
              "urn:case:css:d:s17a"
            ],
            "predicate": "value_matches_property_syntax"
          },
          {
            "args": [
              "urn:case:css:d:s17a",
              "urn:case:css:element:target"
            ],
            "predicate": "selector_matches"
          },
          {
            "args": [
              "urn:case:css:d:s17a",
              "urn:case:css:property:color"
            ],
            "predicate": "declares_property"
          },
          {
            "args": [
              "urn:case:css:d:s17a",
              "urn:case:css:context:light-dom"
            ],
            "predicate": "declaration_context"
          },
          {
            "args": [
              "urn:case:css:d:s17a",
              1,
              0,
              0
            ],
            "predicate": "specificity"
          },
          {
            "args": [
              "urn:case:css:d:s17a",
              1
            ],
            "predicate": "document_order"
          },
          {
            "args": [
              "urn:case:css:d:s17a",
              "AuthorOrigin"
            ],
            "predicate": "declaration_origin"
          },
          {
            "args": [
              "urn:case:css:d:s17a"
            ],
            "predicate": "mapped_by_style_rule"
          },
          {
            "args": [
              "urn:case:css:d:s17a"
            ],
            "predicate": "unlayered_declaration"
          },
          {
            "args": [
              "urn:case:css:d:s17b"
            ],
            "predicate": "declaration_recorded"
          },
          {
            "args": [
              "urn:case:css:d:s17b"
            ],
            "predicate": "in_applicable_style_sheet"
          },
          {
            "args": [
              "urn:case:css:d:s17b"
            ],
            "predicate": "qualifying_conditions_true"
          },
          {
            "args": [
              "urn:case:css:d:s17b"
            ],
            "predicate": "property_is_known"
          },
          {
            "args": [
              "urn:case:css:d:s17b"
            ],
            "predicate": "value_matches_property_syntax"
          },
          {
            "args": [
              "urn:case:css:d:s17b",
              "urn:case:css:element:target"
            ],
            "predicate": "selector_matches"
          },
          {
            "args": [
              "urn:case:css:d:s17b",
              "urn:case:css:property:color"
            ],
            "predicate": "declares_property"
          },
          {
            "args": [
              "urn:case:css:d:s17b",
              "urn:case:css:context:light-dom"
            ],
            "predicate": "declaration_context"
          },
          {
            "args": [
              "urn:case:css:d:s17b",
              0,
              9,
              9
            ],
            "predicate": "specificity"
          },
          {
            "args": [
              "urn:case:css:d:s17b",
              2
            ],
            "predicate": "document_order"
          },
          {
            "args": [
              "urn:case:css:d:s17b",
              "AuthorOrigin"
            ],
            "predicate": "declaration_origin"
          },
          {
            "args": [
              "urn:case:css:d:s17b"
            ],
            "predicate": "mapped_by_style_rule"
          },
          {
            "args": [
              "urn:case:css:d:s17b"
            ],
            "predicate": "unlayered_declaration"
          }
        ],
        "kind": "truth",
        "legalTime": "2026-09-06",
        "package": "w3c-css-cascade",
        "predicate": "wins_cascade",
        "proof": true
      }
      Почему такой результатПрименённые правила и условия

      Путь вывода46 шагов

      1. 1

        declaration is among the declarations the case records

        d: urn:case:css:d:s17a

        факт дела
      2. 2

        declaration has this cascade origin

        d: urn:case:css:d:s17a; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

        факт дела
      3. 3

        declaration is mapped by means of a style rule selector

        d: urn:case:css:d:s17a

        факт дела
      4. 4

        declaration is not assigned to any explicit cascade layer

        d: urn:case:css:d:s17a

        факт дела
      5. 5

        Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

        declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:s17a; layer: implicit outer layer, which unlayered style rules are added to

        разд. 6_1, разд. 6_4_3

        Идентификатор
        urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
        правило
      6. 6

        declaration is among the declarations the case records

        d: urn:case:css:d:s17b

        факт дела
      7. 7

        declaration belongs to a style sheet that currently applies to this document

        d: urn:case:css:d:s17b

        факт дела
      8. 8

        every conditional rule qualifying the declaration has a true condition

        d: urn:case:css:d:s17b

        факт дела
      9. 9

        the declaration's property is a known property name

        d: urn:case:css:d:s17b

        факт дела
      10. 10

        the declaration's value matches the syntax for that property

        d: urn:case:css:d:s17b

        факт дела
      11. 11

        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:s17b

        разд. 5

        Идентификатор
        urn:w3c:clir:css-cascade#SyntacticallyValid
        правило
      12. 12

        declaration belongs to a style rule whose selector matches the element

        d: urn:case:css:d:s17b; e: urn:case:css:element:target

        факт дела
      13. 13

        Section 5. A declaration applies to an element when all four filtering conditions hold

        declaration applies to the element: d: urn:case:css:d:s17b; e: urn:case:css:element:target

        разд. 5

        Идентификатор
        urn:w3c:clir:css-cascade#DeclarationApplies
        правило
      14. 14

        declaration belongs to a style sheet that currently applies to this document

        d: urn:case:css:d:s17a

        факт дела
      15. 15

        declaration declares this property

        d: urn:case:css:d:s17b; p: urn:case:css:property:color

        факт дела
      16. 16

        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:s17b; e: urn:case:css:element:target; p: urn:case:css:property:color

        разд. 4_1, разд. 4

        Идентификатор
        urn:w3c:clir:css-cascade#DeclaredValueContributed
        правило
      17. 17

        declaration is sourced from this encapsulation context

        d: urn:case:css:d:s17b; encapsulation: urn:case:css:context:light-dom

        факт дела
      18. 18

        specificity of the style rule the declaration appears in, as computed by the Selectors module

        d: urn:case:css:d:s17b; a: 0; b: 9; c: 9

        факт дела
      19. 19

        declaration has this cascade origin

        d: urn:case:css:d:s17b; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

        факт дела
      20. 20

        declaration is mapped by means of a style rule selector

        d: urn:case:css:d:s17b

        факт дела
      21. 21

        declaration is not assigned to any explicit cascade layer

        d: urn:case:css:d:s17b

        факт дела
      22. 22

        Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

        declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:s17b; layer: implicit outer layer, which unlayered style rules are added to

        разд. 6_1, разд. 6_4_3

        Идентификатор
        urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
        правило
      23. 23

        every conditional rule qualifying the declaration has a true condition

        d: urn:case:css:d:s17a

        факт дела
      24. 24

        the declaration's property is a known property name

        d: urn:case:css:d:s17a

        факт дела
      25. 25

        the declaration's value matches the syntax for that property

        d: urn:case:css:d:s17a

        факт дела
      26. 26

        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:s17a

        разд. 5

        Идентификатор
        urn:w3c:clir:css-cascade#SyntacticallyValid
        правило
      27. 27

        declaration belongs to a style rule whose selector matches the element

        d: urn:case:css:d:s17a; e: urn:case:css:element:target

        факт дела
      28. 28

        Section 5. A declaration applies to an element when all four filtering conditions hold

        declaration applies to the element: d: urn:case:css:d:s17a; e: urn:case:css:element:target

        разд. 5

        Идентификатор
        urn:w3c:clir:css-cascade#DeclarationApplies
        правило
      29. 29

        declaration declares this property

        d: urn:case:css:d:s17a; p: urn:case:css:property:color

        факт дела
      30. 30

        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:s17a; e: urn:case:css:element:target; p: urn:case:css:property:color

        разд. 4_1, разд. 4

        Идентификатор
        urn:w3c:clir:css-cascade#DeclaredValueContributed
        правило
      31. 31

        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:s17a; second: urn:case:css:d:s17b

        разд. 6, разд. 6_1

        Идентификатор
        urn:w3c:clir:css-cascade#Comparable
        правило
      32. 32

        declaration is sourced from this encapsulation context

        d: urn:case:css:d:s17a; encapsulation: urn:case:css:context:light-dom

        факт дела
      33. 33

        specificity of the style rule the declaration appears in, as computed by the Selectors module

        d: urn:case:css:d:s17a; a: 1; b: 0; c: 0

        факт дела
      34. 34

        band occupies this position in the origin-and-importance precedence list

        band: Normal author declarations; rank: 60

        происхождение не записано
      35. 35

        the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

        не 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:s17a

        происхождение не записано
      36. 36

        Section 6.3. All other declarations are normal (non-important)

        declaration is normal (non-important): d: urn:case:css:d:s17a

        разд. 6_3

        Идентификатор
        urn:w3c:clir:css-cascade#NormalDeclaration
        правило
      37. 37

        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:s17a; band: Normal author declarations

        разд. 6_1, разд. 6_2

        Идентификатор
        urn:w3c:clir:css-cascade#NormalAuthorBand
        правило
      38. 38

        the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

        не 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:s17b

        происхождение не записано
      39. 39

        Section 6.3. All other declarations are normal (non-important)

        declaration is normal (non-important): d: urn:case:css:d:s17b

        разд. 6_3

        Идентификатор
        urn:w3c:clir:css-cascade#NormalDeclaration
        правило
      40. 40

        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:s17b; band: Normal author declarations

        разд. 6_1, разд. 6_2

        Идентификатор
        urn:w3c:clir:css-cascade#NormalAuthorBand
        правило
      41. 41

        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:s17a; second: urn:case:css:d:s17b

        разд. 6_1

        Идентификатор
        urn:w3c:clir:css-cascade#OriginAndImportanceTied
        правило
      42. 42

        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:s17a; second: urn:case:css:d:s17b

        разд. 6_1

        Идентификатор
        urn:w3c:clir:css-cascade#ContextTied
        правило
      43. 43

        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:s17a; second: urn:case:css:d:s17b

        разд. 6_1

        Идентификатор
        urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
        правило
      44. 44

        Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

        cascade layers did not separate the declarations: first: urn:case:css:d:s17a; second: urn:case:css:d:s17b

        разд. 6_1

        Идентификатор
        urn:w3c:clir:css-cascade#LayerTied
        правило
      45. 45

        Section 6.1, Specificity. The declaration with the highest specificity wins: decided on the first component

        declaration is sorted before the other by the cascade: winner: urn:case:css:d:s17a; loser: urn:case:css:d:s17b

        разд. 6_1

        Идентификатор
        urn:w3c:clir:css-cascade#SpecificityDecidesOnA
        правило
      46. 46

        Вычисление запроса

        запрос

      проверено движком: 19 · факт дела: 24 · происхождение не записано: 3 · Полный граф: 74 узлов

      Шаги сохранённого доказательства от фактов дела к ответу. Формулы показаны как записаны в норме, с подставленными значениями; страница ничего не пересчитывает.

      Основание этого ответа

      Правила из сохранённой цепочки доказательства ответа.

      Каскад и умолчания 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

        Идентификатор
        urn:w3c:clir:css-cascade#Comparable
      • Section 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies

        Идентификатор
        urn:w3c:clir:css-cascade#ContextTied
      • Section 5. A declaration applies to an element when all four filtering conditions hold

        Идентификатор
        urn:w3c:clir:css-cascade#DeclarationApplies
      • Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element

        Идентификатор
        urn:w3c:clir:css-cascade#DeclaredValueContributed
      • Section 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies

        Идентификатор
        urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
      • Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

        Идентификатор
        urn:w3c:clir:css-cascade#LayerTied
      • Section 6.1. Normal author declarations occupy the sixth step of the precedence list

        Идентификатор
        urn:w3c:clir:css-cascade#NormalAuthorBand
      • Section 6.3. All other declarations are normal (non-important)

        Идентификатор
        urn:w3c:clir:css-cascade#NormalDeclaration
      • Section 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies

        Идентификатор
        urn:w3c:clir:css-cascade#OriginAndImportanceTied
      • Section 6.1, Specificity. The declaration with the highest specificity wins: decided on the first component

        Идентификатор
        urn:w3c:clir:css-cascade#SpecificityDecidesOnA
      • Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property

        Идентификатор
        urn:w3c:clir:css-cascade#SyntacticallyValid
      • Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

        Идентификатор
        urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
      Другие правила расчёта6

      Применены в общем расчёте, но не входят в цепочку доказательства этого ответа.

      Каскад и умолчания 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

        Идентификатор
        urn:w3c:clir:css-cascade#CascadeYieldsValue
      • Section 4.2. The cascaded value is the declared value that wins the cascade: the one no competing declaration outranks

        Идентификатор
        urn:w3c:clir:css-cascade#CascadedValueIsTheUnbeatenDeclaration
      • Section 4.2. A declaration is outranked when some competing declaration wins the cascade over it

        Идентификатор
        urn:w3c:clir:css-cascade#OutrankedBySome
      • Section 7.3.4. For the purpose of revert, a declaration in the author origin belongs to the author origin

        Идентификатор
        urn:w3c:clir:css-cascade#RevertOriginIsAuthorForAuthorOrigin
      • Section 6.1, Specificity. The declarations have equal specificity: the next criterion applies

        Идентификатор
        urn:w3c:clir:css-cascade#SpecificityTied
      • Section 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

        Идентификатор
        urn:w3c:clir:css-cascade#SpecifiedValueIsCascadedValue

      Вывод по запросу

      • declaration is sorted before the other by the cascade

        winner: s17aloser: s17b
      Другие выводы39
      • for the purpose of the revert keyword the declaration belongs to the author origin

        d: s17a
      • declaration belongs to this cascade layer for the purpose of the cascade

        d: s17alayer: implicit outer layer, which unlayered style rules are added to
      • declaration is syntactically valid

        d: s17b
      • declaration applies to the element

        d: s17be: target
      • declaration contributes a declared value for this property on this element

        d: s17be: targetp: color
      • two declarations are sorted against each other by the cascade

        first: s17bsecond: s17b
      • for the purpose of the revert keyword the declaration belongs to the author origin

        d: s17b
      • declaration belongs to this cascade layer for the purpose of the cascade

        d: s17blayer: implicit outer layer, which unlayered style rules are added to
      • declaration is syntactically valid

        d: s17a
      • declaration applies to the element

        d: s17ae: target
      • declaration contributes a declared value for this property on this element

        d: s17ae: targetp: color
      • declaration is the cascaded value for this property on this element

        d: s17ae: targetp: color
      • two declarations are sorted against each other by the cascade

        firstsecond
        s17as17a
        s17as17b
        s17bs17a
      • the specified value is the cascaded value itself

        d: s17ae: targetp: color
      • declaration is normal (non-important)

        d: s17a
      • declaration belongs to this step of the origin-and-importance list

        d: s17aband: Normal author declarations
      • origin and importance did not separate the declarations

        first: s17asecond: s17a
      • encapsulation context did not separate the declarations

        first: s17asecond: s17a
      • element-attached styles did not separate the declarations

        first: s17asecond: s17a
      • cascade layers did not separate the declarations

        first: s17asecond: s17a
      • specificity did not separate the declarations

        first: s17asecond: s17a
      • declaration is normal (non-important)

        d: s17b
      • declaration belongs to this step of the origin-and-importance list

        d: s17bband: Normal author declarations
      • origin and importance did not separate the declarations

        first: s17bsecond: s17b
      • encapsulation context did not separate the declarations

        first: s17bsecond: s17b
      • element-attached styles did not separate the declarations

        first: s17bsecond: s17b
      • cascade layers did not separate the declarations

        first: s17bsecond: s17b
      • origin and importance did not separate the declarations

        first: s17asecond: s17b
      • encapsulation context did not separate the declarations

        first: s17asecond: s17b
      • element-attached styles did not separate the declarations

        first: s17asecond: s17b
      • cascade layers did not separate the declarations

        first: s17asecond: s17b
      • origin and importance did not separate the declarations

        first: s17bsecond: s17a
      • encapsulation context did not separate the declarations

        first: s17bsecond: s17a
      • element-attached styles did not separate the declarations

        first: s17bsecond: s17a
      • cascade layers did not separate the declarations

        first: s17bsecond: s17a
      • some competing declaration wins the cascade over this one

        d: s17b
      • specificity did not separate the declarations

        first: s17bsecond: s17b
      for the purpose of the revert keyword the declaration belongs to the author origin
      d
      s17a
      s17b
      declaration belongs to this cascade layer for the purpose of the cascade
      dlayer
      s17aimplicit outer layer, which unlayered style rules are added to
      s17bimplicit outer layer, which unlayered style rules are added to
      declaration is syntactically valid
      d
      s17b
      s17a
      declaration applies to the element
      de
      s17burn:case:css:element:target
      s17aurn:case:css:element:target
      declaration contributes a declared value for this property on this element
      dep
      s17burn:case:css:element:targeturn:case:css:property:color
      s17aurn:case:css:element:targeturn:case:css:property:color
      Граф связей
      urn:case:css:d:s17burn:case:css:d:s17a
      two declarations are sorted against each other by the cascade
      firstsecond
      s17bs17b
      s17as17a
      s17as17b
      s17bs17a
      declaration is the cascaded value for this property on this element
      dep
      s17aurn:case:css:element:targeturn:case:css:property:color
      the specified value is the cascaded value itself
      dep
      s17aurn:case:css:element:targeturn:case:css:property:color
      declaration is normal (non-important)
      d
      s17a
      s17b
      declaration belongs to this step of the origin-and-importance list
      dband
      s17aNormal author declarations
      s17bNormal author declarations
      Граф связей
      urn:case:css:d:s17aurn:case:css:d:s17b
      origin and importance did not separate the declarations
      firstsecond
      s17as17a
      s17bs17b
      s17as17b
      s17bs17a
      Граф связей
      urn:case:css:d:s17aurn:case:css:d:s17b
      encapsulation context did not separate the declarations
      firstsecond
      s17as17a
      s17bs17b
      s17as17b
      s17bs17a
      Граф связей
      urn:case:css:d:s17aurn:case:css:d:s17b
      element-attached styles did not separate the declarations
      firstsecond
      s17as17a
      s17bs17b
      s17as17b
      s17bs17a
      Граф связей
      urn:case:css:d:s17aurn:case:css:d:s17b
      cascade layers did not separate the declarations
      firstsecond
      s17as17a
      s17bs17b
      s17as17b
      s17bs17a
      Граф связей
      urn:case:css:d:s17aurn:case:css:d:s17b
      specificity did not separate the declarations
      firstsecond
      s17as17a
      s17bs17b
      Граф связей
      urn:case:css:d:s17aurn:case:css:d:s17b
      declaration is sorted before the other by the cascade
      winnerloser
      s17as17b
      some competing declaration wins the cascade over this one
      d
      s17b

      Скрыто выведенных фактов: 1. В кратком ответе движок оставляет относящиеся к вопросу; полный перечень — в JSON расчёта ниже.

      Граф доказательств

      Закрытый перечень: the set of declarations carrying the !important annotation is closed by the case

      закрытый предикат the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important · снимок urn:w3c:clir:css-cascade:snapshot:declarations:case · полон на

      в перечне
        не в перечне (явный негатив по замыканию)
        • urn:case:css:d:s17a
        • urn:case:css:d:s17b

        Перечень закрыт объявлением §70: отсутствие записи в снимке даёт явный негатив с сертификатом анти-принадлежности (§231.1). Списки — узлы графа доказательства, как их записало исполнение.

        Граф доказательства · 11 слой
        query_evaluationwins_cascaderule_applicationSpecificityDecidesOnArule_applicationLayerTiedassertionspecificityassertionspecificityrule_applicationElementAttachedTiedBothMappedrule_applicationUnlayeredDeclarationIsInTheImplicitOrule_applicationUnlayeredDeclarationIsInTheImplicitOrule_applicationContextTiedassertionmapped_by_style_ruleassertionmapped_by_style_ruleassertionunlayered_declarationassertionunlayered_declarationrule_applicationOriginAndImportanceTiedassertiondeclaration_contextassertiondeclaration_contextrule_applicationComparablerule_applicationNormalAuthorBandrule_applicationNormalAuthorBandassertionband_rankrule_applicationDeclaredValueContributedrule_applicationDeclaredValueContributedrule_applicationNormalDeclarationassertiondeclaration_originrule_applicationNormalDeclarationassertiondeclaration_originrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationDeclarationAppliesassertiondeclares_propertyassertiondeclaration_recordedassertionhas_important_annotationassertiondeclaration_recordedassertionhas_important_annotationrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesassertionproperty_is_knownassertionvalue_matches_property_syntaxassertionproperty_is_knownassertionvalue_matches_property_syntax

        Узлы доказательств: 74 · assertion 27, rule_application 41, candidate_closure 5, query_evaluation 1

        Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

        Скачать JSON ↓
        Идентификаторы календаря и доказательства
        Ссылка на доказательство
        mcp
        Исходное обоснование · JSON

        Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

        Скачать JSON ↓
        ИсточникиФрагментов: 14

        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).
        Исходные данные · JSON
        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”.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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_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]
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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.
        Исходные данные · JSON
        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."
            }
          ]
        }

        Пакеты в снимке

        • Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
        Технические данныеПолный ответ, параметры и контрольные суммы
        Статус расчёта
        COMPUTED
        Полный ответ движка
        wins_cascade: TRUE_ONLY — установлено Выведено правом: revert_origin_is_author(urn:case:css:d:s17a); in_layer(urn:case:css:d:s17a, ImplicitOuterLayer); syntactically_valid(urn:case:css:d:s17b); applies_to(urn:case:css:d:s17b, urn:case:css:element:target); declared_value_for(urn:case:css:d:s17b, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:s17b, urn:case:css:d:s17b); revert_origin_is_author(urn:case:css:d:s17b); in_layer(urn:case:css:d:s17b, ImplicitOuterLayer); syntactically_valid(urn:case:css:d:s17a); applies_to(urn:case:css:d:s17a, urn:case:css:element:target); declared_value_for(urn:case:css:d:s17a, urn:case:css:element:target, urn:case:css:property:color); cascaded_value_from(urn:case:css:d:s17a, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:s17a, urn:case:css:d:s17a); comparable(urn:case:css:d:s17a, urn:case:css:d:s17b); comparable(urn:case:css:d:s17b, urn:case:css:d:s17a); specified_value_from_cascade(urn:case:css:d:s17a, urn:case:css:element:target, urn:case:css:property:color); normal(urn:case:css:d:s17a); declaration_band(urn:case:css:d:s17a, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:s17a, urn:case:css:d:s17a); tied_after_context(urn:case:css:d:s17a, urn:case:css:d:s17a); tied_after_element_attached(urn:case:css:d:s17a, urn:case:css:d:s17a); tied_after_layer(urn:case:css:d:s17a, urn:case:css:d:s17a); tied_after_specificity(urn:case:css:d:s17a, urn:case:css:d:s17a); normal(urn:case:css:d:s17b); declaration_band(urn:case:css:d:s17b, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:s17b, urn:case:css:d:s17b); tied_after_context(urn:case:css:d:s17b, urn:case:css:d:s17b); tied_after_element_attached(urn:case:css:d:s17b, urn:case:css:d:s17b); tied_after_layer(urn:case:css:d:s17b, urn:case:css:d:s17b); tied_after_band(urn:case:css:d:s17a, urn:case:css:d:s17b); tied_after_context(urn:case:css:d:s17a, urn:case:css:d:s17b); tied_after_element_attached(urn:case:css:d:s17a, urn:case:css:d:s17b); tied_after_layer(urn:case:css:d:s17a, urn:case:css:d:s17b); tied_after_band(urn:case:css:d:s17b, urn:case:css:d:s17a); tied_after_context(urn:case:css:d:s17b, urn:case:css:d:s17a); tied_after_element_attached(urn:case:css:d:s17b, urn:case:css:d:s17a); tied_after_layer(urn:case:css:d:s17b, urn:case:css:d:s17a); wins_cascade(urn:case:css:d:s17a, urn:case:css:d:s17b); outranked_by_some(urn:case:css:d:s17b); tied_after_specificity(urn:case:css:d:s17b, urn:case:css:d:s17b) …и ещё 1 выведенных фактов вне предмета вопроса (полный вывод — law_explain) Применены правила: CascadeYieldsValue, CascadedValueIsTheUnbeatenDeclaration, Comparable, ContextTied, DeclarationApplies, DeclaredValueContributed, ElementAttachedTiedBothMapped, LayerTied, NormalAuthorBand, NormalDeclaration, OriginAndImportanceTied, OutrankedBySome, RevertOriginIsAuthorForAuthorOrigin, SpecificityDecidesOnA, SpecificityTied, SpecifiedValueIsCascadedValue, SyntacticallyValid, UnlayeredDeclarationIsInTheImplicitOuterLayer Право (W3C — издатель, не правопорядок): Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — EXECUTABLE 22 §33.1 (programHash sha256:16a3aec85364…) proof-граф: 74 узлов — поле evaluation готово для law_explain

        Полный машинный результат · JSON

        Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

        Скачать JSON ↓

        Исполнение · JSON

        Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

        Скачать JSON ↓

        Метаданные отображения

        Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

        Скачать JSON ↓

        JSON · расчёты, источники и точные данные

        JSONТолько чтение
        {
          "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_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:655a8e6d81ed416b571a0089359958148a39ffe62a79e0fb62e2a4d5ede0b7e4",
          "codeHash": "sha256:9bcca6a33805c1c364ca1bc8e9d39d6a9c51ba44203c0406bafbf397b96be699",
          "jurisdiction": "W3C — издатель, не правопорядок",
          "legalTime": "2026-09-06",
          "mode": "audit",
          "programHash": "sha256:16a3aec853641d93baf8b975f4049939810d60a17ec2b8885d7cf40c74cbbaf5",
          "resultHash": "sha256:3a24759ac60e7cc9ddb621a3fb64bd8ff4a6597c75172654fc73f3b13f60374f",
          "rustCodeHash": "sha256:d368cafc7162ed7a6563df5e5c943a57be26fa8aeb3179b530fe3bdd67fe9be4",
          "timezone": "Asia/Qyzylorda"
        }
        evaluation SHA-256
        sha256:bed942f556454dd7bb5667dddf9019fbb05e73a232c5b03944a922e9430ab359
        Исходные данные · JSON
        JSONТолько чтение
        {
          "args": [
            "urn:case:css:d:s17a",
            "urn:case:css:d:s17b"
          ],
          "facts": [
            {
              "args": [
                "urn:case:css:d:s17a"
              ],
              "predicate": "declaration_recorded"
            },
            {
              "args": [
                "urn:case:css:d:s17a"
              ],
              "predicate": "in_applicable_style_sheet"
            },
            {
              "args": [
                "urn:case:css:d:s17a"
              ],
              "predicate": "qualifying_conditions_true"
            },
            {
              "args": [
                "urn:case:css:d:s17a"
              ],
              "predicate": "property_is_known"
            },
            {
              "args": [
                "urn:case:css:d:s17a"
              ],
              "predicate": "value_matches_property_syntax"
            },
            {
              "args": [
                "urn:case:css:d:s17a",
                "urn:case:css:element:target"
              ],
              "predicate": "selector_matches"
            },
            {
              "args": [
                "urn:case:css:d:s17a",
                "urn:case:css:property:color"
              ],
              "predicate": "declares_property"
            },
            {
              "args": [
                "urn:case:css:d:s17a",
                "urn:case:css:context:light-dom"
              ],
              "predicate": "declaration_context"
            },
            {
              "args": [
                "urn:case:css:d:s17a",
                1,
                0,
                0
              ],
              "predicate": "specificity"
            },
            {
              "args": [
                "urn:case:css:d:s17a",
                1
              ],
              "predicate": "document_order"
            },
            {
              "args": [
                "urn:case:css:d:s17a",
                "AuthorOrigin"
              ],
              "predicate": "declaration_origin"
            },
            {
              "args": [
                "urn:case:css:d:s17a"
              ],
              "predicate": "mapped_by_style_rule"
            },
            {
              "args": [
                "urn:case:css:d:s17a"
              ],
              "predicate": "unlayered_declaration"
            },
            {
              "args": [
                "urn:case:css:d:s17b"
              ],
              "predicate": "declaration_recorded"
            },
            {
              "args": [
                "urn:case:css:d:s17b"
              ],
              "predicate": "in_applicable_style_sheet"
            },
            {
              "args": [
                "urn:case:css:d:s17b"
              ],
              "predicate": "qualifying_conditions_true"
            },
            {
              "args": [
                "urn:case:css:d:s17b"
              ],
              "predicate": "property_is_known"
            },
            {
              "args": [
                "urn:case:css:d:s17b"
              ],
              "predicate": "value_matches_property_syntax"
            },
            {
              "args": [
                "urn:case:css:d:s17b",
                "urn:case:css:element:target"
              ],
              "predicate": "selector_matches"
            },
            {
              "args": [
                "urn:case:css:d:s17b",
                "urn:case:css:property:color"
              ],
              "predicate": "declares_property"
            },
            {
              "args": [
                "urn:case:css:d:s17b",
                "urn:case:css:context:light-dom"
              ],
              "predicate": "declaration_context"
            },
            {
              "args": [
                "urn:case:css:d:s17b",
                0,
                9,
                9
              ],
              "predicate": "specificity"
            },
            {
              "args": [
                "urn:case:css:d:s17b",
                2
              ],
              "predicate": "document_order"
            },
            {
              "args": [
                "urn:case:css:d:s17b",
                "AuthorOrigin"
              ],
              "predicate": "declaration_origin"
            },
            {
              "args": [
                "urn:case:css:d:s17b"
              ],
              "predicate": "mapped_by_style_rule"
            },
            {
              "args": [
                "urn:case:css:d:s17b"
              ],
              "predicate": "unlayered_declaration"
            }
          ],
          "kind": "truth",
          "legalTime": "2026-09-06",
          "package": "w3c-css-cascade",
          "predicate": "wins_cascade",
          "proof": true
        }

        Сравнение идёт покомпонентно: первая же различающаяся компонента решает спор.

        Проверка условия

        Специфичность: третья компонента

        Юрисдикция W3C — издатель, не правопорядокПраво на дату 06.09.2026

        Результат расчёта

        Установлено

        Исходные параметры

        Что определяем

        declaration is sorted before the other by the cascade

        s19as19b

        Исходные факты

        • declaration is among the declarations the case records

          d: s19a
        • declaration belongs to a style sheet that currently applies to this document

          d: s19a
        • every conditional rule qualifying the declaration has a true condition

          d: s19a
        • the declaration's property is a known property name

          d: s19a
        • the declaration's value matches the syntax for that property

          d: s19a
        • declaration belongs to a style rule whose selector matches the element

          d: s19ae: target
        • declaration declares this property

          d: s19ap: color
        • declaration is sourced from this encapsulation context

          d: s19aencapsulation: light-dom
        • specificity of the style rule the declaration appears in, as computed by the Selectors module

          d: s19aa: 1b: 1c: 2
        • position of the declaration in document order

          d: s19aposition: 1
        • declaration has this cascade origin

          d: s19aorigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
        • declaration is mapped by means of a style rule selector

          d: s19a
        • declaration is not assigned to any explicit cascade layer

          d: s19a
        • declaration is among the declarations the case records

          d: s19b
        • declaration belongs to a style sheet that currently applies to this document

          d: s19b
        • every conditional rule qualifying the declaration has a true condition

          d: s19b
        • the declaration's property is a known property name

          d: s19b
        • the declaration's value matches the syntax for that property

          d: s19b
        • declaration belongs to a style rule whose selector matches the element

          d: s19be: target
        • declaration declares this property

          d: s19bp: color
        • declaration is sourced from this encapsulation context

          d: s19bencapsulation: light-dom
        • specificity of the style rule the declaration appears in, as computed by the Selectors module

          d: s19ba: 1b: 1c: 1
        • position of the declaration in document order

          d: s19bposition: 2
        • declaration has this cascade origin

          d: s19borigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
        • declaration is mapped by means of a style rule selector

          d: s19b
        • declaration is not assigned to any explicit cascade layer

          d: s19b

        Пакет: Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан

        Дополнительные сведения

        Сохранить доказательство
        Да
        Исходные данные · JSON
        JSONТолько чтение
        {
          "args": [
            "urn:case:css:d:s19a",
            "urn:case:css:d:s19b"
          ],
          "facts": [
            {
              "args": [
                "urn:case:css:d:s19a"
              ],
              "predicate": "declaration_recorded"
            },
            {
              "args": [
                "urn:case:css:d:s19a"
              ],
              "predicate": "in_applicable_style_sheet"
            },
            {
              "args": [
                "urn:case:css:d:s19a"
              ],
              "predicate": "qualifying_conditions_true"
            },
            {
              "args": [
                "urn:case:css:d:s19a"
              ],
              "predicate": "property_is_known"
            },
            {
              "args": [
                "urn:case:css:d:s19a"
              ],
              "predicate": "value_matches_property_syntax"
            },
            {
              "args": [
                "urn:case:css:d:s19a",
                "urn:case:css:element:target"
              ],
              "predicate": "selector_matches"
            },
            {
              "args": [
                "urn:case:css:d:s19a",
                "urn:case:css:property:color"
              ],
              "predicate": "declares_property"
            },
            {
              "args": [
                "urn:case:css:d:s19a",
                "urn:case:css:context:light-dom"
              ],
              "predicate": "declaration_context"
            },
            {
              "args": [
                "urn:case:css:d:s19a",
                1,
                1,
                2
              ],
              "predicate": "specificity"
            },
            {
              "args": [
                "urn:case:css:d:s19a",
                1
              ],
              "predicate": "document_order"
            },
            {
              "args": [
                "urn:case:css:d:s19a",
                "AuthorOrigin"
              ],
              "predicate": "declaration_origin"
            },
            {
              "args": [
                "urn:case:css:d:s19a"
              ],
              "predicate": "mapped_by_style_rule"
            },
            {
              "args": [
                "urn:case:css:d:s19a"
              ],
              "predicate": "unlayered_declaration"
            },
            {
              "args": [
                "urn:case:css:d:s19b"
              ],
              "predicate": "declaration_recorded"
            },
            {
              "args": [
                "urn:case:css:d:s19b"
              ],
              "predicate": "in_applicable_style_sheet"
            },
            {
              "args": [
                "urn:case:css:d:s19b"
              ],
              "predicate": "qualifying_conditions_true"
            },
            {
              "args": [
                "urn:case:css:d:s19b"
              ],
              "predicate": "property_is_known"
            },
            {
              "args": [
                "urn:case:css:d:s19b"
              ],
              "predicate": "value_matches_property_syntax"
            },
            {
              "args": [
                "urn:case:css:d:s19b",
                "urn:case:css:element:target"
              ],
              "predicate": "selector_matches"
            },
            {
              "args": [
                "urn:case:css:d:s19b",
                "urn:case:css:property:color"
              ],
              "predicate": "declares_property"
            },
            {
              "args": [
                "urn:case:css:d:s19b",
                "urn:case:css:context:light-dom"
              ],
              "predicate": "declaration_context"
            },
            {
              "args": [
                "urn:case:css:d:s19b",
                1,
                1,
                1
              ],
              "predicate": "specificity"
            },
            {
              "args": [
                "urn:case:css:d:s19b",
                2
              ],
              "predicate": "document_order"
            },
            {
              "args": [
                "urn:case:css:d:s19b",
                "AuthorOrigin"
              ],
              "predicate": "declaration_origin"
            },
            {
              "args": [
                "urn:case:css:d:s19b"
              ],
              "predicate": "mapped_by_style_rule"
            },
            {
              "args": [
                "urn:case:css:d:s19b"
              ],
              "predicate": "unlayered_declaration"
            }
          ],
          "kind": "truth",
          "legalTime": "2026-09-06",
          "package": "w3c-css-cascade",
          "predicate": "wins_cascade",
          "proof": true
        }
        Почему такой результатПрименённые правила и условия

        Путь вывода46 шагов

        1. 1

          declaration is among the declarations the case records

          d: urn:case:css:d:s19a

          факт дела
        2. 2

          declaration has this cascade origin

          d: urn:case:css:d:s19a; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

          факт дела
        3. 3

          declaration is mapped by means of a style rule selector

          d: urn:case:css:d:s19a

          факт дела
        4. 4

          declaration is not assigned to any explicit cascade layer

          d: urn:case:css:d:s19a

          факт дела
        5. 5

          Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

          declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:s19a; layer: implicit outer layer, which unlayered style rules are added to

          разд. 6_1, разд. 6_4_3

          Идентификатор
          urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
          правило
        6. 6

          declaration is among the declarations the case records

          d: urn:case:css:d:s19b

          факт дела
        7. 7

          declaration belongs to a style sheet that currently applies to this document

          d: urn:case:css:d:s19b

          факт дела
        8. 8

          every conditional rule qualifying the declaration has a true condition

          d: urn:case:css:d:s19b

          факт дела
        9. 9

          the declaration's property is a known property name

          d: urn:case:css:d:s19b

          факт дела
        10. 10

          the declaration's value matches the syntax for that property

          d: urn:case:css:d:s19b

          факт дела
        11. 11

          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:s19b

          разд. 5

          Идентификатор
          urn:w3c:clir:css-cascade#SyntacticallyValid
          правило
        12. 12

          declaration belongs to a style rule whose selector matches the element

          d: urn:case:css:d:s19b; e: urn:case:css:element:target

          факт дела
        13. 13

          Section 5. A declaration applies to an element when all four filtering conditions hold

          declaration applies to the element: d: urn:case:css:d:s19b; e: urn:case:css:element:target

          разд. 5

          Идентификатор
          urn:w3c:clir:css-cascade#DeclarationApplies
          правило
        14. 14

          declaration belongs to a style sheet that currently applies to this document

          d: urn:case:css:d:s19a

          факт дела
        15. 15

          declaration declares this property

          d: urn:case:css:d:s19b; p: urn:case:css:property:color

          факт дела
        16. 16

          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:s19b; e: urn:case:css:element:target; p: urn:case:css:property:color

          разд. 4_1, разд. 4

          Идентификатор
          urn:w3c:clir:css-cascade#DeclaredValueContributed
          правило
        17. 17

          declaration is sourced from this encapsulation context

          d: urn:case:css:d:s19b; encapsulation: urn:case:css:context:light-dom

          факт дела
        18. 18

          specificity of the style rule the declaration appears in, as computed by the Selectors module

          d: urn:case:css:d:s19b; a: 1; b: 1; c: 1

          факт дела
        19. 19

          declaration has this cascade origin

          d: urn:case:css:d:s19b; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

          факт дела
        20. 20

          declaration is mapped by means of a style rule selector

          d: urn:case:css:d:s19b

          факт дела
        21. 21

          declaration is not assigned to any explicit cascade layer

          d: urn:case:css:d:s19b

          факт дела
        22. 22

          Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

          declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:s19b; layer: implicit outer layer, which unlayered style rules are added to

          разд. 6_1, разд. 6_4_3

          Идентификатор
          urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
          правило
        23. 23

          every conditional rule qualifying the declaration has a true condition

          d: urn:case:css:d:s19a

          факт дела
        24. 24

          the declaration's property is a known property name

          d: urn:case:css:d:s19a

          факт дела
        25. 25

          the declaration's value matches the syntax for that property

          d: urn:case:css:d:s19a

          факт дела
        26. 26

          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:s19a

          разд. 5

          Идентификатор
          urn:w3c:clir:css-cascade#SyntacticallyValid
          правило
        27. 27

          declaration belongs to a style rule whose selector matches the element

          d: urn:case:css:d:s19a; e: urn:case:css:element:target

          факт дела
        28. 28

          Section 5. A declaration applies to an element when all four filtering conditions hold

          declaration applies to the element: d: urn:case:css:d:s19a; e: urn:case:css:element:target

          разд. 5

          Идентификатор
          urn:w3c:clir:css-cascade#DeclarationApplies
          правило
        29. 29

          declaration declares this property

          d: urn:case:css:d:s19a; p: urn:case:css:property:color

          факт дела
        30. 30

          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:s19a; e: urn:case:css:element:target; p: urn:case:css:property:color

          разд. 4_1, разд. 4

          Идентификатор
          urn:w3c:clir:css-cascade#DeclaredValueContributed
          правило
        31. 31

          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:s19a; second: urn:case:css:d:s19b

          разд. 6, разд. 6_1

          Идентификатор
          urn:w3c:clir:css-cascade#Comparable
          правило
        32. 32

          declaration is sourced from this encapsulation context

          d: urn:case:css:d:s19a; encapsulation: urn:case:css:context:light-dom

          факт дела
        33. 33

          specificity of the style rule the declaration appears in, as computed by the Selectors module

          d: urn:case:css:d:s19a; a: 1; b: 1; c: 2

          факт дела
        34. 34

          band occupies this position in the origin-and-importance precedence list

          band: Normal author declarations; rank: 60

          происхождение не записано
        35. 35

          the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

          не 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:s19a

          происхождение не записано
        36. 36

          Section 6.3. All other declarations are normal (non-important)

          declaration is normal (non-important): d: urn:case:css:d:s19a

          разд. 6_3

          Идентификатор
          urn:w3c:clir:css-cascade#NormalDeclaration
          правило
        37. 37

          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:s19a; band: Normal author declarations

          разд. 6_1, разд. 6_2

          Идентификатор
          urn:w3c:clir:css-cascade#NormalAuthorBand
          правило
        38. 38

          the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

          не 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:s19b

          происхождение не записано
        39. 39

          Section 6.3. All other declarations are normal (non-important)

          declaration is normal (non-important): d: urn:case:css:d:s19b

          разд. 6_3

          Идентификатор
          urn:w3c:clir:css-cascade#NormalDeclaration
          правило
        40. 40

          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:s19b; band: Normal author declarations

          разд. 6_1, разд. 6_2

          Идентификатор
          urn:w3c:clir:css-cascade#NormalAuthorBand
          правило
        41. 41

          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:s19a; second: urn:case:css:d:s19b

          разд. 6_1

          Идентификатор
          urn:w3c:clir:css-cascade#OriginAndImportanceTied
          правило
        42. 42

          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:s19a; second: urn:case:css:d:s19b

          разд. 6_1

          Идентификатор
          urn:w3c:clir:css-cascade#ContextTied
          правило
        43. 43

          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:s19a; second: urn:case:css:d:s19b

          разд. 6_1

          Идентификатор
          urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
          правило
        44. 44

          Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

          cascade layers did not separate the declarations: first: urn:case:css:d:s19a; second: urn:case:css:d:s19b

          разд. 6_1

          Идентификатор
          urn:w3c:clir:css-cascade#LayerTied
          правило
        45. 45

          Section 6.1, Specificity. The declaration with the highest specificity wins: the first two components are equal, decided on the third

          declaration is sorted before the other by the cascade: winner: urn:case:css:d:s19a; loser: urn:case:css:d:s19b

          разд. 6_1

          Идентификатор
          urn:w3c:clir:css-cascade#SpecificityDecidesOnC
          правило
        46. 46

          Вычисление запроса

          запрос

        проверено движком: 19 · факт дела: 24 · происхождение не записано: 3 · Полный граф: 74 узлов

        Шаги сохранённого доказательства от фактов дела к ответу. Формулы показаны как записаны в норме, с подставленными значениями; страница ничего не пересчитывает.

        Основание этого ответа

        Правила из сохранённой цепочки доказательства ответа.

        Каскад и умолчания 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

          Идентификатор
          urn:w3c:clir:css-cascade#Comparable
        • Section 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies

          Идентификатор
          urn:w3c:clir:css-cascade#ContextTied
        • Section 5. A declaration applies to an element when all four filtering conditions hold

          Идентификатор
          urn:w3c:clir:css-cascade#DeclarationApplies
        • Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element

          Идентификатор
          urn:w3c:clir:css-cascade#DeclaredValueContributed
        • Section 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies

          Идентификатор
          urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
        • Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

          Идентификатор
          urn:w3c:clir:css-cascade#LayerTied
        • Section 6.1. Normal author declarations occupy the sixth step of the precedence list

          Идентификатор
          urn:w3c:clir:css-cascade#NormalAuthorBand
        • Section 6.3. All other declarations are normal (non-important)

          Идентификатор
          urn:w3c:clir:css-cascade#NormalDeclaration
        • Section 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies

          Идентификатор
          urn:w3c:clir:css-cascade#OriginAndImportanceTied
        • Section 6.1, Specificity. The declaration with the highest specificity wins: the first two components are equal, decided on the third

          Идентификатор
          urn:w3c:clir:css-cascade#SpecificityDecidesOnC
        • Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property

          Идентификатор
          urn:w3c:clir:css-cascade#SyntacticallyValid
        • Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

          Идентификатор
          urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
        Другие правила расчёта6

        Применены в общем расчёте, но не входят в цепочку доказательства этого ответа.

        Каскад и умолчания 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

          Идентификатор
          urn:w3c:clir:css-cascade#CascadeYieldsValue
        • Section 4.2. The cascaded value is the declared value that wins the cascade: the one no competing declaration outranks

          Идентификатор
          urn:w3c:clir:css-cascade#CascadedValueIsTheUnbeatenDeclaration
        • Section 4.2. A declaration is outranked when some competing declaration wins the cascade over it

          Идентификатор
          urn:w3c:clir:css-cascade#OutrankedBySome
        • Section 7.3.4. For the purpose of revert, a declaration in the author origin belongs to the author origin

          Идентификатор
          urn:w3c:clir:css-cascade#RevertOriginIsAuthorForAuthorOrigin
        • Section 6.1, Specificity. The declarations have equal specificity: the next criterion applies

          Идентификатор
          urn:w3c:clir:css-cascade#SpecificityTied
        • Section 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

          Идентификатор
          urn:w3c:clir:css-cascade#SpecifiedValueIsCascadedValue

        Вывод по запросу

        • declaration is sorted before the other by the cascade

          winner: s19aloser: s19b
        Другие выводы39
        • for the purpose of the revert keyword the declaration belongs to the author origin

          d: s19a
        • declaration belongs to this cascade layer for the purpose of the cascade

          d: s19alayer: implicit outer layer, which unlayered style rules are added to
        • declaration is syntactically valid

          d: s19b
        • declaration applies to the element

          d: s19be: target
        • declaration contributes a declared value for this property on this element

          d: s19be: targetp: color
        • two declarations are sorted against each other by the cascade

          first: s19bsecond: s19b
        • for the purpose of the revert keyword the declaration belongs to the author origin

          d: s19b
        • declaration belongs to this cascade layer for the purpose of the cascade

          d: s19blayer: implicit outer layer, which unlayered style rules are added to
        • declaration is syntactically valid

          d: s19a
        • declaration applies to the element

          d: s19ae: target
        • declaration contributes a declared value for this property on this element

          d: s19ae: targetp: color
        • declaration is the cascaded value for this property on this element

          d: s19ae: targetp: color
        • two declarations are sorted against each other by the cascade

          firstsecond
          s19as19a
          s19bs19a
          s19as19b
        • the specified value is the cascaded value itself

          d: s19ae: targetp: color
        • declaration is normal (non-important)

          d: s19a
        • declaration belongs to this step of the origin-and-importance list

          d: s19aband: Normal author declarations
        • origin and importance did not separate the declarations

          first: s19asecond: s19a
        • encapsulation context did not separate the declarations

          first: s19asecond: s19a
        • element-attached styles did not separate the declarations

          first: s19asecond: s19a
        • cascade layers did not separate the declarations

          first: s19asecond: s19a
        • specificity did not separate the declarations

          first: s19asecond: s19a
        • declaration is normal (non-important)

          d: s19b
        • declaration belongs to this step of the origin-and-importance list

          d: s19bband: Normal author declarations
        • origin and importance did not separate the declarations

          first: s19bsecond: s19b
        • encapsulation context did not separate the declarations

          first: s19bsecond: s19b
        • element-attached styles did not separate the declarations

          first: s19bsecond: s19b
        • cascade layers did not separate the declarations

          first: s19bsecond: s19b
        • origin and importance did not separate the declarations

          first: s19asecond: s19b
        • encapsulation context did not separate the declarations

          first: s19asecond: s19b
        • element-attached styles did not separate the declarations

          first: s19asecond: s19b
        • cascade layers did not separate the declarations

          first: s19asecond: s19b
        • origin and importance did not separate the declarations

          first: s19bsecond: s19a
        • encapsulation context did not separate the declarations

          first: s19bsecond: s19a
        • element-attached styles did not separate the declarations

          first: s19bsecond: s19a
        • cascade layers did not separate the declarations

          first: s19bsecond: s19a
        • some competing declaration wins the cascade over this one

          d: s19b
        • specificity did not separate the declarations

          first: s19bsecond: s19b
        for the purpose of the revert keyword the declaration belongs to the author origin
        d
        s19a
        s19b
        declaration belongs to this cascade layer for the purpose of the cascade
        dlayer
        s19aimplicit outer layer, which unlayered style rules are added to
        s19bimplicit outer layer, which unlayered style rules are added to
        declaration is syntactically valid
        d
        s19b
        s19a
        declaration applies to the element
        de
        s19burn:case:css:element:target
        s19aurn:case:css:element:target
        declaration contributes a declared value for this property on this element
        dep
        s19burn:case:css:element:targeturn:case:css:property:color
        s19aurn:case:css:element:targeturn:case:css:property:color
        Граф связей
        urn:case:css:d:s19burn:case:css:d:s19a
        two declarations are sorted against each other by the cascade
        firstsecond
        s19bs19b
        s19as19a
        s19bs19a
        s19as19b
        declaration is the cascaded value for this property on this element
        dep
        s19aurn:case:css:element:targeturn:case:css:property:color
        the specified value is the cascaded value itself
        dep
        s19aurn:case:css:element:targeturn:case:css:property:color
        declaration is normal (non-important)
        d
        s19a
        s19b
        declaration belongs to this step of the origin-and-importance list
        dband
        s19aNormal author declarations
        s19bNormal author declarations
        Граф связей
        urn:case:css:d:s19aurn:case:css:d:s19b
        origin and importance did not separate the declarations
        firstsecond
        s19as19a
        s19bs19b
        s19as19b
        s19bs19a
        Граф связей
        urn:case:css:d:s19aurn:case:css:d:s19b
        encapsulation context did not separate the declarations
        firstsecond
        s19as19a
        s19bs19b
        s19as19b
        s19bs19a
        Граф связей
        urn:case:css:d:s19aurn:case:css:d:s19b
        element-attached styles did not separate the declarations
        firstsecond
        s19as19a
        s19bs19b
        s19as19b
        s19bs19a
        Граф связей
        urn:case:css:d:s19aurn:case:css:d:s19b
        cascade layers did not separate the declarations
        firstsecond
        s19as19a
        s19bs19b
        s19as19b
        s19bs19a
        Граф связей
        urn:case:css:d:s19aurn:case:css:d:s19b
        specificity did not separate the declarations
        firstsecond
        s19as19a
        s19bs19b
        Граф связей
        urn:case:css:d:s19aurn:case:css:d:s19b
        declaration is sorted before the other by the cascade
        winnerloser
        s19as19b
        some competing declaration wins the cascade over this one
        d
        s19b

        Скрыто выведенных фактов: 1. В кратком ответе движок оставляет относящиеся к вопросу; полный перечень — в JSON расчёта ниже.

        Граф доказательств

        Закрытый перечень: the set of declarations carrying the !important annotation is closed by the case

        закрытый предикат the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important · снимок urn:w3c:clir:css-cascade:snapshot:declarations:case · полон на

        в перечне
          не в перечне (явный негатив по замыканию)
          • urn:case:css:d:s19a
          • urn:case:css:d:s19b

          Перечень закрыт объявлением §70: отсутствие записи в снимке даёт явный негатив с сертификатом анти-принадлежности (§231.1). Списки — узлы графа доказательства, как их записало исполнение.

          Граф доказательства · 11 слой
          query_evaluationwins_cascaderule_applicationSpecificityDecidesOnCrule_applicationLayerTiedassertionspecificityassertionspecificityrule_applicationElementAttachedTiedBothMappedrule_applicationUnlayeredDeclarationIsInTheImplicitOrule_applicationUnlayeredDeclarationIsInTheImplicitOrule_applicationContextTiedassertionmapped_by_style_ruleassertionmapped_by_style_ruleassertionunlayered_declarationassertionunlayered_declarationrule_applicationOriginAndImportanceTiedassertiondeclaration_contextassertiondeclaration_contextrule_applicationComparablerule_applicationNormalAuthorBandrule_applicationNormalAuthorBandassertionband_rankrule_applicationDeclaredValueContributedrule_applicationDeclaredValueContributedrule_applicationNormalDeclarationassertiondeclaration_originrule_applicationNormalDeclarationassertiondeclaration_originrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationDeclarationAppliesassertiondeclares_propertyassertiondeclaration_recordedassertionhas_important_annotationassertiondeclaration_recordedassertionhas_important_annotationrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesassertionproperty_is_knownassertionvalue_matches_property_syntaxassertionproperty_is_knownassertionvalue_matches_property_syntax

          Узлы доказательств: 74 · assertion 27, rule_application 41, candidate_closure 5, query_evaluation 1

          Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

          Скачать JSON ↓
          Идентификаторы календаря и доказательства
          Ссылка на доказательство
          mcp
          Исходное обоснование · JSON

          Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

          Скачать JSON ↓
          ИсточникиФрагментов: 14

          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).
          Исходные данные · JSON
          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”.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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_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]
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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.
          Исходные данные · JSON
          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."
              }
            ]
          }

          Пакеты в снимке

          • Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
          Технические данныеПолный ответ, параметры и контрольные суммы
          Статус расчёта
          COMPUTED
          Полный ответ движка
          wins_cascade: TRUE_ONLY — установлено Выведено правом: revert_origin_is_author(urn:case:css:d:s19a); in_layer(urn:case:css:d:s19a, ImplicitOuterLayer); syntactically_valid(urn:case:css:d:s19b); applies_to(urn:case:css:d:s19b, urn:case:css:element:target); declared_value_for(urn:case:css:d:s19b, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:s19b, urn:case:css:d:s19b); revert_origin_is_author(urn:case:css:d:s19b); in_layer(urn:case:css:d:s19b, ImplicitOuterLayer); syntactically_valid(urn:case:css:d:s19a); applies_to(urn:case:css:d:s19a, urn:case:css:element:target); declared_value_for(urn:case:css:d:s19a, urn:case:css:element:target, urn:case:css:property:color); cascaded_value_from(urn:case:css:d:s19a, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:s19a, urn:case:css:d:s19a); comparable(urn:case:css:d:s19b, urn:case:css:d:s19a); comparable(urn:case:css:d:s19a, urn:case:css:d:s19b); specified_value_from_cascade(urn:case:css:d:s19a, urn:case:css:element:target, urn:case:css:property:color); normal(urn:case:css:d:s19a); declaration_band(urn:case:css:d:s19a, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:s19a, urn:case:css:d:s19a); tied_after_context(urn:case:css:d:s19a, urn:case:css:d:s19a); tied_after_element_attached(urn:case:css:d:s19a, urn:case:css:d:s19a); tied_after_layer(urn:case:css:d:s19a, urn:case:css:d:s19a); tied_after_specificity(urn:case:css:d:s19a, urn:case:css:d:s19a); normal(urn:case:css:d:s19b); declaration_band(urn:case:css:d:s19b, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:s19b, urn:case:css:d:s19b); tied_after_context(urn:case:css:d:s19b, urn:case:css:d:s19b); tied_after_element_attached(urn:case:css:d:s19b, urn:case:css:d:s19b); tied_after_layer(urn:case:css:d:s19b, urn:case:css:d:s19b); tied_after_band(urn:case:css:d:s19a, urn:case:css:d:s19b); tied_after_context(urn:case:css:d:s19a, urn:case:css:d:s19b); tied_after_element_attached(urn:case:css:d:s19a, urn:case:css:d:s19b); tied_after_layer(urn:case:css:d:s19a, urn:case:css:d:s19b); tied_after_band(urn:case:css:d:s19b, urn:case:css:d:s19a); tied_after_context(urn:case:css:d:s19b, urn:case:css:d:s19a); tied_after_element_attached(urn:case:css:d:s19b, urn:case:css:d:s19a); tied_after_layer(urn:case:css:d:s19b, urn:case:css:d:s19a); wins_cascade(urn:case:css:d:s19a, urn:case:css:d:s19b); outranked_by_some(urn:case:css:d:s19b); tied_after_specificity(urn:case:css:d:s19b, urn:case:css:d:s19b) …и ещё 1 выведенных фактов вне предмета вопроса (полный вывод — law_explain) Применены правила: CascadeYieldsValue, CascadedValueIsTheUnbeatenDeclaration, Comparable, ContextTied, DeclarationApplies, DeclaredValueContributed, ElementAttachedTiedBothMapped, LayerTied, NormalAuthorBand, NormalDeclaration, OriginAndImportanceTied, OutrankedBySome, RevertOriginIsAuthorForAuthorOrigin, SpecificityDecidesOnC, SpecificityTied, SpecifiedValueIsCascadedValue, SyntacticallyValid, UnlayeredDeclarationIsInTheImplicitOuterLayer Право (W3C — издатель, не правопорядок): Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — EXECUTABLE 22 §33.1 (programHash sha256:16a3aec85364…) proof-граф: 74 узлов — поле evaluation готово для law_explain

          Полный машинный результат · JSON

          Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

          Скачать JSON ↓

          Исполнение · JSON

          Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

          Скачать JSON ↓

          Метаданные отображения

          Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

          Скачать JSON ↓

          JSON · расчёты, источники и точные данные

          JSONТолько чтение
          {
            "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_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:595e94680e7f7b1eded8a0670b292fcf517db01daedb573bb0374c82a2c33a1f",
            "codeHash": "sha256:9bcca6a33805c1c364ca1bc8e9d39d6a9c51ba44203c0406bafbf397b96be699",
            "jurisdiction": "W3C — издатель, не правопорядок",
            "legalTime": "2026-09-06",
            "mode": "audit",
            "programHash": "sha256:16a3aec853641d93baf8b975f4049939810d60a17ec2b8885d7cf40c74cbbaf5",
            "resultHash": "sha256:e9f231e0f986b8b196ea0fe233016ba06c9441077a5abe14610c489178187907",
            "rustCodeHash": "sha256:d368cafc7162ed7a6563df5e5c943a57be26fa8aeb3179b530fe3bdd67fe9be4",
            "timezone": "Asia/Qyzylorda"
          }
          evaluation SHA-256
          sha256:bd6dd2cd7cd857714a02dfd564ee402f2852c9d3fa87a1265a7d27c569865e95
          Исходные данные · JSON
          JSONТолько чтение
          {
            "args": [
              "urn:case:css:d:s19a",
              "urn:case:css:d:s19b"
            ],
            "facts": [
              {
                "args": [
                  "urn:case:css:d:s19a"
                ],
                "predicate": "declaration_recorded"
              },
              {
                "args": [
                  "urn:case:css:d:s19a"
                ],
                "predicate": "in_applicable_style_sheet"
              },
              {
                "args": [
                  "urn:case:css:d:s19a"
                ],
                "predicate": "qualifying_conditions_true"
              },
              {
                "args": [
                  "urn:case:css:d:s19a"
                ],
                "predicate": "property_is_known"
              },
              {
                "args": [
                  "urn:case:css:d:s19a"
                ],
                "predicate": "value_matches_property_syntax"
              },
              {
                "args": [
                  "urn:case:css:d:s19a",
                  "urn:case:css:element:target"
                ],
                "predicate": "selector_matches"
              },
              {
                "args": [
                  "urn:case:css:d:s19a",
                  "urn:case:css:property:color"
                ],
                "predicate": "declares_property"
              },
              {
                "args": [
                  "urn:case:css:d:s19a",
                  "urn:case:css:context:light-dom"
                ],
                "predicate": "declaration_context"
              },
              {
                "args": [
                  "urn:case:css:d:s19a",
                  1,
                  1,
                  2
                ],
                "predicate": "specificity"
              },
              {
                "args": [
                  "urn:case:css:d:s19a",
                  1
                ],
                "predicate": "document_order"
              },
              {
                "args": [
                  "urn:case:css:d:s19a",
                  "AuthorOrigin"
                ],
                "predicate": "declaration_origin"
              },
              {
                "args": [
                  "urn:case:css:d:s19a"
                ],
                "predicate": "mapped_by_style_rule"
              },
              {
                "args": [
                  "urn:case:css:d:s19a"
                ],
                "predicate": "unlayered_declaration"
              },
              {
                "args": [
                  "urn:case:css:d:s19b"
                ],
                "predicate": "declaration_recorded"
              },
              {
                "args": [
                  "urn:case:css:d:s19b"
                ],
                "predicate": "in_applicable_style_sheet"
              },
              {
                "args": [
                  "urn:case:css:d:s19b"
                ],
                "predicate": "qualifying_conditions_true"
              },
              {
                "args": [
                  "urn:case:css:d:s19b"
                ],
                "predicate": "property_is_known"
              },
              {
                "args": [
                  "urn:case:css:d:s19b"
                ],
                "predicate": "value_matches_property_syntax"
              },
              {
                "args": [
                  "urn:case:css:d:s19b",
                  "urn:case:css:element:target"
                ],
                "predicate": "selector_matches"
              },
              {
                "args": [
                  "urn:case:css:d:s19b",
                  "urn:case:css:property:color"
                ],
                "predicate": "declares_property"
              },
              {
                "args": [
                  "urn:case:css:d:s19b",
                  "urn:case:css:context:light-dom"
                ],
                "predicate": "declaration_context"
              },
              {
                "args": [
                  "urn:case:css:d:s19b",
                  1,
                  1,
                  1
                ],
                "predicate": "specificity"
              },
              {
                "args": [
                  "urn:case:css:d:s19b",
                  2
                ],
                "predicate": "document_order"
              },
              {
                "args": [
                  "urn:case:css:d:s19b",
                  "AuthorOrigin"
                ],
                "predicate": "declaration_origin"
              },
              {
                "args": [
                  "urn:case:css:d:s19b"
                ],
                "predicate": "mapped_by_style_rule"
              },
              {
                "args": [
                  "urn:case:css:d:s19b"
                ],
                "predicate": "unlayered_declaration"
              }
            ],
            "kind": "truth",
            "legalTime": "2026-09-06",
            "package": "w3c-css-cascade",
            "predicate": "wins_cascade",
            "proof": true
          }

          Когда первые две равны, дело доходит до третьей.

          Проверка условия

          Порядок в документе как последний довод

          Юрисдикция W3C — издатель, не правопорядокПраво на дату 06.09.2026

          Результат расчёта

          Установлено

          Исходные параметры

          Что определяем

          declaration is sorted before the other by the cascade

          o20bo20a

          Исходные факты

          • declaration is among the declarations the case records

            d: o20b
          • declaration belongs to a style sheet that currently applies to this document

            d: o20b
          • every conditional rule qualifying the declaration has a true condition

            d: o20b
          • the declaration's property is a known property name

            d: o20b
          • the declaration's value matches the syntax for that property

            d: o20b
          • declaration belongs to a style rule whose selector matches the element

            d: o20be: target
          • declaration declares this property

            d: o20bp: color
          • declaration is sourced from this encapsulation context

            d: o20bencapsulation: light-dom
          • specificity of the style rule the declaration appears in, as computed by the Selectors module

            d: o20ba: 0b: 0c: 1
          • position of the declaration in document order

            d: o20bposition: 2
          • declaration has this cascade origin

            d: o20borigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
          • declaration is mapped by means of a style rule selector

            d: o20b
          • declaration is not assigned to any explicit cascade layer

            d: o20b
          • declaration is among the declarations the case records

            d: o20a
          • declaration belongs to a style sheet that currently applies to this document

            d: o20a
          • every conditional rule qualifying the declaration has a true condition

            d: o20a
          • the declaration's property is a known property name

            d: o20a
          • the declaration's value matches the syntax for that property

            d: o20a
          • declaration belongs to a style rule whose selector matches the element

            d: o20ae: target
          • declaration declares this property

            d: o20ap: color
          • declaration is sourced from this encapsulation context

            d: o20aencapsulation: light-dom
          • specificity of the style rule the declaration appears in, as computed by the Selectors module

            d: o20aa: 0b: 0c: 1
          • position of the declaration in document order

            d: o20aposition: 1
          • declaration has this cascade origin

            d: o20aorigin: Author Origin: style sheets specified for a source document according to the conventions of the document language
          • declaration is mapped by means of a style rule selector

            d: o20a
          • declaration is not assigned to any explicit cascade layer

            d: o20a

          Пакет: Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан

          Дополнительные сведения

          Сохранить доказательство
          Да
          Исходные данные · JSON
          JSONТолько чтение
          {
            "args": [
              "urn:case:css:d:o20b",
              "urn:case:css:d:o20a"
            ],
            "facts": [
              {
                "args": [
                  "urn:case:css:d:o20b"
                ],
                "predicate": "declaration_recorded"
              },
              {
                "args": [
                  "urn:case:css:d:o20b"
                ],
                "predicate": "in_applicable_style_sheet"
              },
              {
                "args": [
                  "urn:case:css:d:o20b"
                ],
                "predicate": "qualifying_conditions_true"
              },
              {
                "args": [
                  "urn:case:css:d:o20b"
                ],
                "predicate": "property_is_known"
              },
              {
                "args": [
                  "urn:case:css:d:o20b"
                ],
                "predicate": "value_matches_property_syntax"
              },
              {
                "args": [
                  "urn:case:css:d:o20b",
                  "urn:case:css:element:target"
                ],
                "predicate": "selector_matches"
              },
              {
                "args": [
                  "urn:case:css:d:o20b",
                  "urn:case:css:property:color"
                ],
                "predicate": "declares_property"
              },
              {
                "args": [
                  "urn:case:css:d:o20b",
                  "urn:case:css:context:light-dom"
                ],
                "predicate": "declaration_context"
              },
              {
                "args": [
                  "urn:case:css:d:o20b",
                  0,
                  0,
                  1
                ],
                "predicate": "specificity"
              },
              {
                "args": [
                  "urn:case:css:d:o20b",
                  2
                ],
                "predicate": "document_order"
              },
              {
                "args": [
                  "urn:case:css:d:o20b",
                  "AuthorOrigin"
                ],
                "predicate": "declaration_origin"
              },
              {
                "args": [
                  "urn:case:css:d:o20b"
                ],
                "predicate": "mapped_by_style_rule"
              },
              {
                "args": [
                  "urn:case:css:d:o20b"
                ],
                "predicate": "unlayered_declaration"
              },
              {
                "args": [
                  "urn:case:css:d:o20a"
                ],
                "predicate": "declaration_recorded"
              },
              {
                "args": [
                  "urn:case:css:d:o20a"
                ],
                "predicate": "in_applicable_style_sheet"
              },
              {
                "args": [
                  "urn:case:css:d:o20a"
                ],
                "predicate": "qualifying_conditions_true"
              },
              {
                "args": [
                  "urn:case:css:d:o20a"
                ],
                "predicate": "property_is_known"
              },
              {
                "args": [
                  "urn:case:css:d:o20a"
                ],
                "predicate": "value_matches_property_syntax"
              },
              {
                "args": [
                  "urn:case:css:d:o20a",
                  "urn:case:css:element:target"
                ],
                "predicate": "selector_matches"
              },
              {
                "args": [
                  "urn:case:css:d:o20a",
                  "urn:case:css:property:color"
                ],
                "predicate": "declares_property"
              },
              {
                "args": [
                  "urn:case:css:d:o20a",
                  "urn:case:css:context:light-dom"
                ],
                "predicate": "declaration_context"
              },
              {
                "args": [
                  "urn:case:css:d:o20a",
                  0,
                  0,
                  1
                ],
                "predicate": "specificity"
              },
              {
                "args": [
                  "urn:case:css:d:o20a",
                  1
                ],
                "predicate": "document_order"
              },
              {
                "args": [
                  "urn:case:css:d:o20a",
                  "AuthorOrigin"
                ],
                "predicate": "declaration_origin"
              },
              {
                "args": [
                  "urn:case:css:d:o20a"
                ],
                "predicate": "mapped_by_style_rule"
              },
              {
                "args": [
                  "urn:case:css:d:o20a"
                ],
                "predicate": "unlayered_declaration"
              }
            ],
            "kind": "truth",
            "legalTime": "2026-09-06",
            "package": "w3c-css-cascade",
            "predicate": "wins_cascade",
            "proof": true
          }
          Почему такой результатПрименённые правила и условия

          Путь вывода49 шагов

          1. 1

            declaration is among the declarations the case records

            d: urn:case:css:d:o20b

            факт дела
          2. 2

            position of the declaration in document order

            d: urn:case:css:d:o20b; position: 2

            факт дела
          3. 3

            declaration has this cascade origin

            d: urn:case:css:d:o20b; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

            факт дела
          4. 4

            declaration is mapped by means of a style rule selector

            d: urn:case:css:d:o20b

            факт дела
          5. 5

            declaration is not assigned to any explicit cascade layer

            d: urn:case:css:d:o20b

            факт дела
          6. 6

            Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

            declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:o20b; layer: implicit outer layer, which unlayered style rules are added to

            разд. 6_1, разд. 6_4_3

            Идентификатор
            urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
            правило
          7. 7

            declaration is among the declarations the case records

            d: urn:case:css:d:o20a

            факт дела
          8. 8

            declaration belongs to a style sheet that currently applies to this document

            d: urn:case:css:d:o20a

            факт дела
          9. 9

            every conditional rule qualifying the declaration has a true condition

            d: urn:case:css:d:o20a

            факт дела
          10. 10

            the declaration's property is a known property name

            d: urn:case:css:d:o20a

            факт дела
          11. 11

            the declaration's value matches the syntax for that property

            d: urn:case:css:d:o20a

            факт дела
          12. 12

            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:o20a

            разд. 5

            Идентификатор
            urn:w3c:clir:css-cascade#SyntacticallyValid
            правило
          13. 13

            declaration belongs to a style rule whose selector matches the element

            d: urn:case:css:d:o20a; e: urn:case:css:element:target

            факт дела
          14. 14

            Section 5. A declaration applies to an element when all four filtering conditions hold

            declaration applies to the element: d: urn:case:css:d:o20a; e: urn:case:css:element:target

            разд. 5

            Идентификатор
            urn:w3c:clir:css-cascade#DeclarationApplies
            правило
          15. 15

            declaration belongs to a style sheet that currently applies to this document

            d: urn:case:css:d:o20b

            факт дела
          16. 16

            declaration declares this property

            d: urn:case:css:d:o20a; p: urn:case:css:property:color

            факт дела
          17. 17

            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:o20a; e: urn:case:css:element:target; p: urn:case:css:property:color

            разд. 4_1, разд. 4

            Идентификатор
            urn:w3c:clir:css-cascade#DeclaredValueContributed
            правило
          18. 18

            declaration is sourced from this encapsulation context

            d: urn:case:css:d:o20a; encapsulation: urn:case:css:context:light-dom

            факт дела
          19. 19

            specificity of the style rule the declaration appears in, as computed by the Selectors module

            d: urn:case:css:d:o20a; a: 0; b: 0; c: 1

            факт дела
          20. 20

            position of the declaration in document order

            d: urn:case:css:d:o20a; position: 1

            факт дела
          21. 21

            declaration has this cascade origin

            d: urn:case:css:d:o20a; origin: Author Origin: style sheets specified for a source document according to the conventions of the document language

            факт дела
          22. 22

            declaration is mapped by means of a style rule selector

            d: urn:case:css:d:o20a

            факт дела
          23. 23

            declaration is not assigned to any explicit cascade layer

            d: urn:case:css:d:o20a

            факт дела
          24. 24

            Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

            declaration belongs to this cascade layer for the purpose of the cascade: d: urn:case:css:d:o20a; layer: implicit outer layer, which unlayered style rules are added to

            разд. 6_1, разд. 6_4_3

            Идентификатор
            urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
            правило
          25. 25

            every conditional rule qualifying the declaration has a true condition

            d: urn:case:css:d:o20b

            факт дела
          26. 26

            the declaration's property is a known property name

            d: urn:case:css:d:o20b

            факт дела
          27. 27

            the declaration's value matches the syntax for that property

            d: urn:case:css:d:o20b

            факт дела
          28. 28

            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:o20b

            разд. 5

            Идентификатор
            urn:w3c:clir:css-cascade#SyntacticallyValid
            правило
          29. 29

            declaration belongs to a style rule whose selector matches the element

            d: urn:case:css:d:o20b; e: urn:case:css:element:target

            факт дела
          30. 30

            Section 5. A declaration applies to an element when all four filtering conditions hold

            declaration applies to the element: d: urn:case:css:d:o20b; e: urn:case:css:element:target

            разд. 5

            Идентификатор
            urn:w3c:clir:css-cascade#DeclarationApplies
            правило
          31. 31

            declaration declares this property

            d: urn:case:css:d:o20b; p: urn:case:css:property:color

            факт дела
          32. 32

            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:o20b; e: urn:case:css:element:target; p: urn:case:css:property:color

            разд. 4_1, разд. 4

            Идентификатор
            urn:w3c:clir:css-cascade#DeclaredValueContributed
            правило
          33. 33

            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:o20b; second: urn:case:css:d:o20a

            разд. 6, разд. 6_1

            Идентификатор
            urn:w3c:clir:css-cascade#Comparable
            правило
          34. 34

            declaration is sourced from this encapsulation context

            d: urn:case:css:d:o20b; encapsulation: urn:case:css:context:light-dom

            факт дела
          35. 35

            specificity of the style rule the declaration appears in, as computed by the Selectors module

            d: urn:case:css:d:o20b; a: 0; b: 0; c: 1

            факт дела
          36. 36

            band occupies this position in the origin-and-importance precedence list

            band: Normal author declarations; rank: 60

            происхождение не записано
          37. 37

            the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

            не 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:o20a

            происхождение не записано
          38. 38

            Section 6.3. All other declarations are normal (non-important)

            declaration is normal (non-important): d: urn:case:css:d:o20a

            разд. 6_3

            Идентификатор
            urn:w3c:clir:css-cascade#NormalDeclaration
            правило
          39. 39

            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:o20a; band: Normal author declarations

            разд. 6_1, разд. 6_2

            Идентификатор
            urn:w3c:clir:css-cascade#NormalAuthorBand
            правило
          40. 40

            the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important

            не 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:o20b

            происхождение не записано
          41. 41

            Section 6.3. All other declarations are normal (non-important)

            declaration is normal (non-important): d: urn:case:css:d:o20b

            разд. 6_3

            Идентификатор
            urn:w3c:clir:css-cascade#NormalDeclaration
            правило
          42. 42

            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:o20b; band: Normal author declarations

            разд. 6_1, разд. 6_2

            Идентификатор
            urn:w3c:clir:css-cascade#NormalAuthorBand
            правило
          43. 43

            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:o20b; second: urn:case:css:d:o20a

            разд. 6_1

            Идентификатор
            urn:w3c:clir:css-cascade#OriginAndImportanceTied
            правило
          44. 44

            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:o20b; second: urn:case:css:d:o20a

            разд. 6_1

            Идентификатор
            urn:w3c:clir:css-cascade#ContextTied
            правило
          45. 45

            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:o20b; second: urn:case:css:d:o20a

            разд. 6_1

            Идентификатор
            urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
            правило
          46. 46

            Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

            cascade layers did not separate the declarations: first: urn:case:css:d:o20b; second: urn:case:css:d:o20a

            разд. 6_1

            Идентификатор
            urn:w3c:clir:css-cascade#LayerTied
            правило
          47. 47

            Section 6.1, Specificity. The declarations have equal specificity: the next criterion applies

            specificity did not separate the declarations: first: urn:case:css:d:o20b; second: urn:case:css:d:o20a

            разд. 6_1

            Идентификатор
            urn:w3c:clir:css-cascade#SpecificityTied
            правило
          48. 48

            Section 6.1, Order of Appearance. The last declaration in document order wins

            declaration is sorted before the other by the cascade: winner: urn:case:css:d:o20b; loser: urn:case:css:d:o20a

            разд. 6_1

            Идентификатор
            urn:w3c:clir:css-cascade#OrderOfAppearanceDecides
            правило
          49. 49

            Вычисление запроса

            запрос

          проверено движком: 20 · факт дела: 26 · происхождение не записано: 3 · Полный граф: 78 узлов

          Шаги сохранённого доказательства от фактов дела к ответу. Формулы показаны как записаны в норме, с подставленными значениями; страница ничего не пересчитывает.

          Основание этого ответа

          Правила из сохранённой цепочки доказательства ответа.

          Каскад и умолчания 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

            Идентификатор
            urn:w3c:clir:css-cascade#Comparable
          • Section 6.1, Context. The declarations are sourced from the same encapsulation context: the next criterion applies

            Идентификатор
            urn:w3c:clir:css-cascade#ContextTied
          • Section 5. A declaration applies to an element when all four filtering conditions hold

            Идентификатор
            urn:w3c:clir:css-cascade#DeclarationApplies
          • Section 4.1. Each property declaration applied to an element contributes a declared value for that property associated with the element

            Идентификатор
            urn:w3c:clir:css-cascade#DeclaredValueContributed
          • Section 6.1, Element-Attached Styles. Both declarations are mapped via a style rule selector: the next criterion applies

            Идентификатор
            urn:w3c:clir:css-cascade#ElementAttachedTiedBothMapped
          • Section 6.1, Layers. Both declarations belong to the same cascade layer: the next criterion applies

            Идентификатор
            urn:w3c:clir:css-cascade#LayerTied
          • Section 6.1. Normal author declarations occupy the sixth step of the precedence list

            Идентификатор
            urn:w3c:clir:css-cascade#NormalAuthorBand
          • Section 6.3. All other declarations are normal (non-important)

            Идентификатор
            urn:w3c:clir:css-cascade#NormalDeclaration
          • Section 6.1, Order of Appearance. The last declaration in document order wins

            Идентификатор
            urn:w3c:clir:css-cascade#OrderOfAppearanceDecides
          • Section 6.1, Origin and Importance. The declarations stand on the same step of the precedence list: the next criterion applies

            Идентификатор
            urn:w3c:clir:css-cascade#OriginAndImportanceTied
          • Section 6.1, Specificity. The declarations have equal specificity: the next criterion applies

            Идентификатор
            urn:w3c:clir:css-cascade#SpecificityTied
          • Section 5. A declaration is syntactically valid when its property is a known property name and its value matches the syntax for that property

            Идентификатор
            urn:w3c:clir:css-cascade#SyntacticallyValid
          • Section 6.1. Any declaration not assigned to an explicit layer is added to an implicit final layer

            Идентификатор
            urn:w3c:clir:css-cascade#UnlayeredDeclarationIsInTheImplicitOuterLayer
          Другие правила расчёта5

          Применены в общем расчёте, но не входят в цепочку доказательства этого ответа.

          Каскад и умолчания 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

            Идентификатор
            urn:w3c:clir:css-cascade#CascadeYieldsValue
          • Section 4.2. The cascaded value is the declared value that wins the cascade: the one no competing declaration outranks

            Идентификатор
            urn:w3c:clir:css-cascade#CascadedValueIsTheUnbeatenDeclaration
          • Section 4.2. A declaration is outranked when some competing declaration wins the cascade over it

            Идентификатор
            urn:w3c:clir:css-cascade#OutrankedBySome
          • Section 7.3.4. For the purpose of revert, a declaration in the author origin belongs to the author origin

            Идентификатор
            urn:w3c:clir:css-cascade#RevertOriginIsAuthorForAuthorOrigin
          • Section 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

            Идентификатор
            urn:w3c:clir:css-cascade#SpecifiedValueIsCascadedValue

          Вывод по запросу

          • declaration is sorted before the other by the cascade

            winner: o20bloser: o20a
          Другие выводы41
          • for the purpose of the revert keyword the declaration belongs to the author origin

            d: o20b
          • declaration belongs to this cascade layer for the purpose of the cascade

            d: o20blayer: implicit outer layer, which unlayered style rules are added to
          • declaration is syntactically valid

            d: o20a
          • declaration applies to the element

            d: o20ae: target
          • declaration contributes a declared value for this property on this element

            d: o20ae: targetp: color
          • two declarations are sorted against each other by the cascade

            first: o20asecond: o20a
          • for the purpose of the revert keyword the declaration belongs to the author origin

            d: o20a
          • declaration belongs to this cascade layer for the purpose of the cascade

            d: o20alayer: implicit outer layer, which unlayered style rules are added to
          • declaration is syntactically valid

            d: o20b
          • declaration applies to the element

            d: o20be: target
          • declaration contributes a declared value for this property on this element

            d: o20be: targetp: color
          • declaration is the cascaded value for this property on this element

            d: o20be: targetp: color
          • two declarations are sorted against each other by the cascade

            firstsecond
            o20bo20a
            o20bo20b
            o20ao20b
          • the specified value is the cascaded value itself

            d: o20be: targetp: color
          • declaration is normal (non-important)

            d: o20a
          • declaration belongs to this step of the origin-and-importance list

            d: o20aband: Normal author declarations
          • origin and importance did not separate the declarations

            first: o20asecond: o20a
          • encapsulation context did not separate the declarations

            first: o20asecond: o20a
          • element-attached styles did not separate the declarations

            first: o20asecond: o20a
          • cascade layers did not separate the declarations

            first: o20asecond: o20a
          • specificity did not separate the declarations

            first: o20asecond: o20a
          • declaration is normal (non-important)

            d: o20b
          • declaration belongs to this step of the origin-and-importance list

            d: o20bband: Normal author declarations
          • origin and importance did not separate the declarations

            first: o20bsecond: o20a
          • encapsulation context did not separate the declarations

            first: o20bsecond: o20a
          • element-attached styles did not separate the declarations

            first: o20bsecond: o20a
          • cascade layers did not separate the declarations

            first: o20bsecond: o20a
          • origin and importance did not separate the declarations

            first: o20bsecond: o20b
          • encapsulation context did not separate the declarations

            first: o20bsecond: o20b
          • element-attached styles did not separate the declarations

            first: o20bsecond: o20b
          • cascade layers did not separate the declarations

            first: o20bsecond: o20b
          • origin and importance did not separate the declarations

            first: o20asecond: o20b
          • encapsulation context did not separate the declarations

            first: o20asecond: o20b
          • element-attached styles did not separate the declarations

            first: o20asecond: o20b
          • cascade layers did not separate the declarations

            first: o20asecond: o20b
          • specificity did not separate the declarations

            firstsecond
            o20bo20b
            o20ao20b
            o20bo20a
          • some competing declaration wins the cascade over this one

            d: o20a
          for the purpose of the revert keyword the declaration belongs to the author origin
          d
          o20b
          o20a
          declaration belongs to this cascade layer for the purpose of the cascade
          dlayer
          o20bimplicit outer layer, which unlayered style rules are added to
          o20aimplicit outer layer, which unlayered style rules are added to
          declaration is syntactically valid
          d
          o20a
          o20b
          declaration applies to the element
          de
          o20aurn:case:css:element:target
          o20burn:case:css:element:target
          declaration contributes a declared value for this property on this element
          dep
          o20aurn:case:css:element:targeturn:case:css:property:color
          o20burn:case:css:element:targeturn:case:css:property:color
          Граф связей
          urn:case:css:d:o20aurn:case:css:d:o20b
          two declarations are sorted against each other by the cascade
          firstsecond
          o20ao20a
          o20bo20a
          o20bo20b
          o20ao20b
          declaration is the cascaded value for this property on this element
          dep
          o20burn:case:css:element:targeturn:case:css:property:color
          the specified value is the cascaded value itself
          dep
          o20burn:case:css:element:targeturn:case:css:property:color
          declaration is normal (non-important)
          d
          o20a
          o20b
          declaration belongs to this step of the origin-and-importance list
          dband
          o20aNormal author declarations
          o20bNormal author declarations
          Граф связей
          urn:case:css:d:o20aurn:case:css:d:o20b
          origin and importance did not separate the declarations
          firstsecond
          o20ao20a
          o20bo20a
          o20bo20b
          o20ao20b
          Граф связей
          urn:case:css:d:o20aurn:case:css:d:o20b
          encapsulation context did not separate the declarations
          firstsecond
          o20ao20a
          o20bo20a
          o20bo20b
          o20ao20b
          Граф связей
          urn:case:css:d:o20aurn:case:css:d:o20b
          element-attached styles did not separate the declarations
          firstsecond
          o20ao20a
          o20bo20a
          o20bo20b
          o20ao20b
          Граф связей
          urn:case:css:d:o20aurn:case:css:d:o20b
          cascade layers did not separate the declarations
          firstsecond
          o20ao20a
          o20bo20a
          o20bo20b
          o20ao20b
          Граф связей
          urn:case:css:d:o20aurn:case:css:d:o20b
          specificity did not separate the declarations
          firstsecond
          o20ao20a
          o20bo20b
          o20ao20b
          o20bo20a
          Граф связей
          urn:case:css:d:o20burn:case:css:d:o20a
          declaration is sorted before the other by the cascade
          winnerloser
          o20bo20a
          some competing declaration wins the cascade over this one
          d
          o20a

          Скрыто выведенных фактов: 1. В кратком ответе движок оставляет относящиеся к вопросу; полный перечень — в JSON расчёта ниже.

          Граф доказательств

          Закрытый перечень: the set of declarations carrying the !important annotation is closed by the case

          закрытый предикат the last two non-whitespace, non-comment tokens in the declaration's value are the delimiter token ! followed by the identifier token important · снимок urn:w3c:clir:css-cascade:snapshot:declarations:case · полон на

          в перечне
            не в перечне (явный негатив по замыканию)
            • urn:case:css:d:o20a
            • urn:case:css:d:o20b

            Перечень закрыт объявлением §70: отсутствие записи в снимке даёт явный негатив с сертификатом анти-принадлежности (§231.1). Списки — узлы графа доказательства, как их записало исполнение.

            Граф доказательства · 12 слой
            query_evaluationwins_cascaderule_applicationOrderOfAppearanceDecidesrule_applicationSpecificityTiedassertiondocument_orderassertiondocument_orderrule_applicationLayerTiedassertionspecificityassertionspecificityrule_applicationElementAttachedTiedBothMappedrule_applicationUnlayeredDeclarationIsInTheImplicitOrule_applicationUnlayeredDeclarationIsInTheImplicitOrule_applicationContextTiedassertionmapped_by_style_ruleassertionmapped_by_style_ruleassertionunlayered_declarationassertionunlayered_declarationrule_applicationOriginAndImportanceTiedassertiondeclaration_contextassertiondeclaration_contextrule_applicationComparablerule_applicationNormalAuthorBandrule_applicationNormalAuthorBandassertionband_rankrule_applicationDeclaredValueContributedrule_applicationDeclaredValueContributedrule_applicationNormalDeclarationassertiondeclaration_originrule_applicationNormalDeclarationassertiondeclaration_originrule_applicationDeclarationAppliesassertiondeclares_propertyrule_applicationDeclarationAppliesassertiondeclares_propertyassertiondeclaration_recordedassertionhas_important_annotationassertiondeclaration_recordedassertionhas_important_annotationrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesrule_applicationSyntacticallyValidassertionin_applicable_style_sheetassertionqualifying_conditions_trueassertionselector_matchesassertionproperty_is_knownassertionvalue_matches_property_syntaxassertionproperty_is_knownassertionvalue_matches_property_syntax

            Узлы доказательств: 78 · assertion 29, rule_application 43, candidate_closure 5, query_evaluation 1

            Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

            Скачать JSON ↓
            Идентификаторы календаря и доказательства
            Ссылка на доказательство
            mcp
            Исходное обоснование · JSON

            Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

            Скачать JSON ↓
            ИсточникиФрагментов: 14

            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).
            Исходные данные · JSON
            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”.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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_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]
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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.
            Исходные данные · JSON
            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."
                }
              ]
            }

            Пакеты в снимке

            • Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — юрисдикция W3C, НЕ Республика Казахстан — EXECUTABLE 22 §33.1
            Технические данныеПолный ответ, параметры и контрольные суммы
            Статус расчёта
            COMPUTED
            Полный ответ движка
            wins_cascade: TRUE_ONLY — установлено Выведено правом: revert_origin_is_author(urn:case:css:d:o20b); in_layer(urn:case:css:d:o20b, ImplicitOuterLayer); syntactically_valid(urn:case:css:d:o20a); applies_to(urn:case:css:d:o20a, urn:case:css:element:target); declared_value_for(urn:case:css:d:o20a, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:o20a, urn:case:css:d:o20a); revert_origin_is_author(urn:case:css:d:o20a); in_layer(urn:case:css:d:o20a, ImplicitOuterLayer); syntactically_valid(urn:case:css:d:o20b); applies_to(urn:case:css:d:o20b, urn:case:css:element:target); declared_value_for(urn:case:css:d:o20b, urn:case:css:element:target, urn:case:css:property:color); cascaded_value_from(urn:case:css:d:o20b, urn:case:css:element:target, urn:case:css:property:color); comparable(urn:case:css:d:o20b, urn:case:css:d:o20a); comparable(urn:case:css:d:o20b, urn:case:css:d:o20b); comparable(urn:case:css:d:o20a, urn:case:css:d:o20b); specified_value_from_cascade(urn:case:css:d:o20b, urn:case:css:element:target, urn:case:css:property:color); normal(urn:case:css:d:o20a); declaration_band(urn:case:css:d:o20a, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:o20a, urn:case:css:d:o20a); tied_after_context(urn:case:css:d:o20a, urn:case:css:d:o20a); tied_after_element_attached(urn:case:css:d:o20a, urn:case:css:d:o20a); tied_after_layer(urn:case:css:d:o20a, urn:case:css:d:o20a); tied_after_specificity(urn:case:css:d:o20a, urn:case:css:d:o20a); normal(urn:case:css:d:o20b); declaration_band(urn:case:css:d:o20b, NormalAuthorDeclarations); tied_after_band(urn:case:css:d:o20b, urn:case:css:d:o20a); tied_after_context(urn:case:css:d:o20b, urn:case:css:d:o20a); tied_after_element_attached(urn:case:css:d:o20b, urn:case:css:d:o20a); tied_after_layer(urn:case:css:d:o20b, urn:case:css:d:o20a); tied_after_band(urn:case:css:d:o20b, urn:case:css:d:o20b); tied_after_context(urn:case:css:d:o20b, urn:case:css:d:o20b); tied_after_element_attached(urn:case:css:d:o20b, urn:case:css:d:o20b); tied_after_layer(urn:case:css:d:o20b, urn:case:css:d:o20b); tied_after_band(urn:case:css:d:o20a, urn:case:css:d:o20b); tied_after_context(urn:case:css:d:o20a, urn:case:css:d:o20b); tied_after_element_attached(urn:case:css:d:o20a, urn:case:css:d:o20b); tied_after_layer(urn:case:css:d:o20a, urn:case:css:d:o20b); tied_after_specificity(urn:case:css:d:o20b, urn:case:css:d:o20b); tied_after_specificity(urn:case:css:d:o20a, urn:case:css:d:o20b); tied_after_specificity(urn:case:css:d:o20b, urn:case:css:d:o20a); wins_cascade(urn:case:css:d:o20b, urn:case:css:d:o20a); outranked_by_some(urn:case:css:d:o20a) …и ещё 1 выведенных фактов вне предмета вопроса (полный вывод — law_explain) Применены правила: CascadeYieldsValue, CascadedValueIsTheUnbeatenDeclaration, Comparable, ContextTied, DeclarationApplies, DeclaredValueContributed, ElementAttachedTiedBothMapped, LayerTied, NormalAuthorBand, NormalDeclaration, OrderOfAppearanceDecides, OriginAndImportanceTied, OutrankedBySome, RevertOriginIsAuthorForAuthorOrigin, SpecificityTied, SpecifiedValueIsCascadedValue, SyntacticallyValid, UnlayeredDeclarationIsInTheImplicitOuterLayer Право (W3C — издатель, не правопорядок): Каскад и умолчания CSS: шесть критериев сортировки объявлений, происхождения, !important и слои каскада (W3C CSS Cascading and Inheritance Level 5) — EXECUTABLE 22 §33.1 (programHash sha256:16a3aec85364…) proof-граф: 78 узлов — поле evaluation готово для law_explain

            Полный машинный результат · JSON

            Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

            Скачать JSON ↓

            Исполнение · JSON

            Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

            Скачать JSON ↓

            Метаданные отображения

            Блок слишком большой для встроенного просмотра. Он целиком включён в JSON документа — без сокращений.

            Скачать JSON ↓

            JSON · расчёты, источники и точные данные

            JSONТолько чтение
            {
              "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_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:efe76466ea543307f09f4e68dd781bd667644298c534a5b347943950a20b9191",
              "codeHash": "sha256:9bcca6a33805c1c364ca1bc8e9d39d6a9c51ba44203c0406bafbf397b96be699",
              "jurisdiction": "W3C — издатель, не правопорядок",
              "legalTime": "2026-09-06",
              "mode": "audit",
              "programHash": "sha256:16a3aec853641d93baf8b975f4049939810d60a17ec2b8885d7cf40c74cbbaf5",
              "resultHash": "sha256:aead401636778476b28d918e2d4b7e02ab5c827ca111749ded126651d92d02d5",
              "rustCodeHash": "sha256:d368cafc7162ed7a6563df5e5c943a57be26fa8aeb3179b530fe3bdd67fe9be4",
              "timezone": "Asia/Qyzylorda"
            }
            evaluation SHA-256
            sha256:7bea3ab9430c296dc6c6da591c2b19c5be47355e020a1ef8690958d27ee6fb86
            Исходные данные · JSON
            JSONТолько чтение
            {
              "args": [
                "urn:case:css:d:o20b",
                "urn:case:css:d:o20a"
              ],
              "facts": [
                {
                  "args": [
                    "urn:case:css:d:o20b"
                  ],
                  "predicate": "declaration_recorded"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b"
                  ],
                  "predicate": "in_applicable_style_sheet"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b"
                  ],
                  "predicate": "qualifying_conditions_true"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b"
                  ],
                  "predicate": "property_is_known"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b"
                  ],
                  "predicate": "value_matches_property_syntax"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b",
                    "urn:case:css:element:target"
                  ],
                  "predicate": "selector_matches"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b",
                    "urn:case:css:property:color"
                  ],
                  "predicate": "declares_property"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b",
                    "urn:case:css:context:light-dom"
                  ],
                  "predicate": "declaration_context"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b",
                    0,
                    0,
                    1
                  ],
                  "predicate": "specificity"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b",
                    2
                  ],
                  "predicate": "document_order"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b",
                    "AuthorOrigin"
                  ],
                  "predicate": "declaration_origin"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b"
                  ],
                  "predicate": "mapped_by_style_rule"
                },
                {
                  "args": [
                    "urn:case:css:d:o20b"
                  ],
                  "predicate": "unlayered_declaration"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a"
                  ],
                  "predicate": "declaration_recorded"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a"
                  ],
                  "predicate": "in_applicable_style_sheet"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a"
                  ],
                  "predicate": "qualifying_conditions_true"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a"
                  ],
                  "predicate": "property_is_known"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a"
                  ],
                  "predicate": "value_matches_property_syntax"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a",
                    "urn:case:css:element:target"
                  ],
                  "predicate": "selector_matches"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a",
                    "urn:case:css:property:color"
                  ],
                  "predicate": "declares_property"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a",
                    "urn:case:css:context:light-dom"
                  ],
                  "predicate": "declaration_context"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a",
                    0,
                    0,
                    1
                  ],
                  "predicate": "specificity"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a",
                    1
                  ],
                  "predicate": "document_order"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a",
                    "AuthorOrigin"
                  ],
                  "predicate": "declaration_origin"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a"
                  ],
                  "predicate": "mapped_by_style_rule"
                },
                {
                  "args": [
                    "urn:case:css:d:o20a"
                  ],
                  "predicate": "unlayered_declaration"
                }
              ],
              "kind": "truth",
              "legalTime": "2026-09-06",
              "package": "w3c-css-cascade",
              "predicate": "wins_cascade",
              "proof": true
            }

            При полном равенстве побеждает последнее объявление в документе.

            Как сослаться

            Снимок неизменяем: его закрепляет SHA-256 скачиваемого JSON, поэтому дата обращения не нужна.

            Текст ссылки
            «Два объявления претендуют на одно свойство. Как каскад решает спор через слои, важность, происхождение и специфичность селектора?». Arxo Lens, по состоянию на 06.09.2026. https://lens.arxo.io/a/a_BxJJ9C7lEPlGjAxdsAGubVQJ. SHA-256 снимка: 91c051244f839f3b83de5571e0e191dc6fed2487817fbd7b86faf85925402a4a.
            BibTeX
            @misc{arxo-lens-a_BxJJ9C7lEPlG,
              title = {Два объявления претендуют на одно свойство. Как каскад решает спор через слои, важность, происхождение и специфичность селектора?},
              howpublished = {Arxo Lens},
              url = {https://lens.arxo.io/a/a_BxJJ9C7lEPlGjAxdsAGubVQJ},
              note = {по состоянию на 06.09.2026; SHA-256 91c051244f839f3b83de5571e0e191dc6fed2487817fbd7b86faf85925402a4a}
            }
            Код для вставки

            Карточка показывает результат и ведёт к полному разбору; cookies не ставит.

            <iframe src="https://lens.arxo.io/embed/a_BxJJ9C7lEPlGjAxdsAGubVQJ?lang=ru" width="100%" height="390" loading="lazy" title="Каскад CSS: какое объявление побеждает и почему — Arxo Lens" style="border:0"></iframe>

            Анонимная статистика посещений, без cookies.