--- title: CSSRule slug: Web/API/CSSRule translation_of: Web/API/CSSRule ---
{{APIRef("CSSOM")}}

Интерфейс CSSRule представляет собой одно правило CSS. Есть несколько типов правил, перечисленных в разделе {{anch("Type constants")}} ниже.

Интерфейс CSSRule определяет общие свойства для всех правил, в то время как свойства характерные только для определенных типов правил указаны в более специализированных интерфейсах для соответствующих типов этих правил.

Ссылки на CSSRule выможете получить на странице {{domxref ("CSSStyleSheet")}} список cssRules.

Общие свойства для всех экземпляров CSSRule

{{domxref("CSSRule.cssText")}}
Represents the textual representation of the rule, e.g. "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")}}.
{{domxref("CSSRule.parentRule")}} {{readonlyinline}}
Returns the containing rule, otherwise null. E.g. if this rule is a style rule inside an {{cssxref("@media")}} block, the parent rule would be that {{domxref("CSSMediaRule")}}.
{{domxref("CSSRule.parentStyleSheet")}} {{readonlyinline}}
Returns the {{domxref("CSSStyleSheet")}} object for the style sheet that contains this rule
{{domxref("CSSRule.type")}} {{readonlyinline}}
One of the {{anch("Type constants")}} indicating the type of CSS rule.

Константы

Типы констант

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.

Specifications

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.

Browser compatibility

{{CompatibilityTable}}
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.

See also