--- title: CSSRule slug: Web/API/CSSRule translation_of: Web/API/CSSRule ---
Интерфейс CSSRule представляет собой одно правило CSS. Есть несколько типов правил, перечисленных в разделе {{anch("Type constants")}} ниже.
Интерфейс CSSRule определяет общие свойства для всех правил, в то время как свойства характерные только для определенных типов правил указаны в более специализированных интерфейсах для соответствующих типов этих правил.
Ссылки на CSSRule выможете получить на странице {{domxref ("CSSStyleSheet")}} список cssRules.
h1,h2 { font-size: 16pt }
" or "@import 'url'
". To access or modify parts of the rule (e.g. the value of "font-size" in the example) use the properties on the {{anch("Type constants", "specialized interface for the rule's type")}}.null
. E.g. if this rule is a style rule inside an {{cssxref("@media")}} block, the parent rule would be that {{domxref("CSSMediaRule")}}.The CSSRule
interface specifies integer constants that can be used in conjunction with a CSSRule
's {{domxref("cssRule/type","type")}} property to discern the rule type (and therefore, which specialized interface it implements). The relationships between these constants and the interfaces are:
Type | Value | Rule-specific interface | Comments and examples |
---|---|---|---|
CSSRule.STYLE_RULE |
1 |
{{domxref("CSSStyleRule")}} | The most common kind of rule:selector { prop1: val1; prop2: val2; } |
CSSRule.IMPORT_RULE |
3 |
{{domxref("CSSImportRule")}} | An {{cssxref("@import")}} rule. (Until the documentation is completed, see the interface definition in the Mozilla source code: nsIDOMCSSImportRule.) |
CSSRule.MEDIA_RULE |
4 |
{{domxref("CSSMediaRule")}} | |
CSSRule.FONT_FACE_RULE |
5 |
{{domxref("CSSFontFaceRule")}} | |
CSSRule.PAGE_RULE |
6 |
{{domxref("CSSPageRule")}} | |
CSSRule.KEYFRAMES_RULE |
7 |
{{domxref("CSSKeyframesRule")}} {{experimental_inline}} | |
CSSRule.KEYFRAME_RULE |
8 |
{{domxref("CSSKeyframeRule")}} {{experimental_inline}} | |
Reserved for future use | 9 |
Should be used to define color profiles in the future | |
CSSRule.NAMESPACE_RULE |
10 |
{{domxref("CSSNamespaceRule")}} {{experimental_inline}} | |
CSSRule.COUNTER_STYLE_RULE |
11 |
{{domxref("CSSCounterStyleRule")}} {{experimental_inline}} | |
CSSRule.SUPPORTS_RULE |
12 |
{{domxref("CSSSupportsRule")}} | |
CSSRule.DOCUMENT_RULE |
13 |
{{domxref("CSSDocumentRule")}} {{experimental_inline}} | |
CSSRule.FONT_FEATURE_VALUES_RULE |
14 |
{{domxref("CSSFontFeatureValuesRule")}} | |
CSSRule.VIEWPORT_RULE |
15 |
{{domxref("CSSViewportRule")}} {{experimental_inline}} | |
CSSRule.REGION_STYLE_RULE |
16 |
{{domxref("CSSRegionStyleRule")}} {{experimental_inline}} | |
CSSRule.UNKNOWN_RULE |
0 |
{{domxref("CSSUnknownRule")}} {{obsolete_inline}} | |
CSSRule.CHARSET_RULE |
2 |
CSSCharsetRule {{obsolete_inline}} |
(Removed in most browsers.) |
An up-to-date informal list of constants can be found on the CSSWG Wiki.
Specification | Status | Comment |
---|---|---|
{{SpecName('CSSOM', '#css-rules', 'CSSRule')}} | {{Spec2('CSSOM')}} | Obsoleted values CHARSET_RULE and UNKNOWN_RULE . Added value NAMESPACE_RULE . |
{{SpecName("CSS3 Animations",'#interface-cssrule', 'CSSRule')}} | {{Spec2('CSS3 Animations')}} | Added values KEYFRAMES_RULE and KEYFRAME_RULE . |
{{SpecName('CSS3 Fonts', '#om-fontfeaturevalues', 'CSSRule')}} | {{Spec2('CSS3 Fonts')}} | Added value FONT_FEATURE_VALUES_RULE . |
{{SpecName("CSS3 Counter Styles", "#extentions-to-cssrule-interface", 'CSSRule')}} | {{Spec2("CSS3 Counter Styles")}} | Added value COUNTER_STYLE_RULE . |
{{SpecName("CSS3 Conditional", '#extentions-to-cssrule-interface', 'CSSRule')}} | {{Spec2('CSS3 Conditional')}} | Added value SUPPORTS_RULE . (DOCUMENT_RULE has been pushed to CSS Conditional Rules Level 4) |
{{SpecName('DOM2 Style', 'css.html#CSS-CSSRule', 'CSSRule')}} | {{Spec2('DOM2 Style')}} | Initial definition. |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 9 | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
CSSKeyframesRule |
{{CompatUnknown}} | {{CompatUnknown}} | 20.0 [4] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
CSSCharsetRule |
{{CompatNo}} [1] | {{CompatUnknown}} | {{CompatNo}} [3] | {{CompatUnknown}} | {{CompatNo}} | {{CompatUnknown}} |
CSSUnknownRule |
{{CompatNo}} [2] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
CSSKeyframesRule |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | 20.0 [4] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
CSSCharsetRule |
{{CompatUnknown}} | {{CompatNo}} [1] | {{CompatUnknown}} | {{CompatNo}} [3] | {{CompatUnknown}} | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} [1] |
CSSUnknownRule |
{{CompatUnknown}} | {{CompatNo}} [2] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatNo}} [2] |
[1] CSSCharsetRule
was removed in Chrome version 41.0.
[2] CSSUnknownRule
was removed in Chrome version 45.0.
[3] CSSCharsetRule
was removed in Gecko version 40.
[4] On Gecko, before Firefox 19, the keyframe-related constants existed only in their prefixed version: CSSRule.MOZ_KEYFRAMES_RULE
and CSSRule.MOZ_KEYFRAME_RULE.
From Firefox 20 onwards, both versions are available. The prefixed version will be removed in the future.