
* 仕様書

[REFS[
- [15] [CITE@en-US[CSS Object Model (CSSOM)]] ([TIME[2013-05-24 13:44:30 +09:00]] 版) <http://dev.w3.org/csswg/cssom/#the-cssrule-interface>
- [12] [CITE@en[CSSOM Constants ''''''[''''''CSS Working Group Wiki'''''']'''''']]
( ([TIME[2011-10-17 21:58:41 +09:00]] 版))
<http://wiki.csswg.org/spec/cssom-constants>
]REFS]

* 定数 [CODE(CSS)[0]]

[17] [CODE(CSS)@en[[[UNKNOWN_RULE]]]] ([CODE(CSS)[[[0]]]]) は [[DOM2]] で定義され [SRC[>>16]]、
一部の実装で非標準の[[@規則]]のために使われていました [SRC[[CODE(CSS)@en[[[UNKNOWN_RULE]]]]]] が、現在の
[[CSSOM]] では廃止され、予約値であって使用しないことになっています [SRC[>>15, >>12]]。

* 定数 [CODE(CSS)[1]]

[18] [CODE(CSS)@en[[[STYLE_RULE]]]] ([CODE(CSS)[[[1]]]]) は [[DOM2]] 以来[[規則集合]]を表しています [SRC[>>15, >>12, >>16]]。

* 定数 [CODE(CSS)[2]]

[19] [CODE(CSS)@en[[[CHARSET_RULE]]]] ([CODE(CSS)[[[2]]]]) は [[DOM2]] 以来 [CODE(CSS)@en[[[@charset]]]]
を表しています [SRC[>>15, >>12, >>16]]。

* 定数 [CODE(CSS)[3]]

[20] [CODE(CSS)@en[[[IMPORT_RULE]]]] ([CODE(CSS)[[[3]]]]) は [[DOM2]] 以来 [CODE(CSS)@en[[[@import]]]]
を表しています [SRC[>>15, >>12, >>16]]。

* 定数 [CODE(CSS)[4]]

[21] [CODE(CSS)@en[[[MEDIA_RULE]]]] ([CODE(CSS)[[[4]]]]) は [[DOM2]] 以来 [CODE(CSS)@en[[[@media]]]]
を表しています [SRC[>>15, >>12, >>16]]。

* 定数 [CODE(CSS)[5]]

[22] [CODE(CSS)@en[[[FONT_FACE_RULE]]]] ([CODE(CSS)[[[5]]]]) は [[DOM2]] 以来 [CODE(CSS)@en[[[@font-face]]]]
を表しています [SRC[>>15, >>12, >>16]]。

* 定数 [CODE(CSS)[6]]

[23] [CODE(CSS)@en[[[PAGE_RULE]]]] ([CODE(CSS)[[[6]]]]) は [[DOM2]] 以来 [CODE(CSS)@en[[[@page]]]]
を表しています [SRC[>>15, >>12, >>16]]。

* 定数 [CODE[7]]

[24] [[css3-animations]] によると [CODE(CSS)@en[[[7]]]] は [CODE(CSS)@en[[[KEYFRAMES_RULE]]]] ([CODE(CSS)@en[[[@keyframes]]]])
を表します [SRC[>>12]]。

[26] [[SVG 1.1]] [[勧告]]は [CODE[[[7]]]] を [CODE(DOMc)@en[[[COLOR_PROFILE_RULE]]]] ([CODE(CSS)@en[[[@color-profile]]]])
に使っていました。

[REFS[
- [27] [CITE[Basic Data Types and Interfaces - SVG 1.1 - 20030114]] ([TIME[2003-01-09 19:57:00 +09:00]] 版) <http://www.w3.org/TR/2003/REC-SVG11-20030114/types.html#InterfaceSVGCSSRule>
- [11] [CITE[Basic Data Types and Interfaces – SVG 1.1 (Second Edition)]]
( ([TIME[2011-08-10 12:35:27 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGCSSRule>
]REFS]

[1] 初期の [[CSSOM]] は [CODE[[[7]]]] を [CODE(DOMc)@en[[[NAMESPACE_RULE]]]] に使っていました。

[REFS[
- [25] [CITE@en-US[Cascading Style Sheets Object Model (CSSOM)]] ([TIME[2007-12-30 22:47:54 +09:00]] 版) <http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html?rev=1.64&content-type=text/html;%20charset=utf-8#cssrule>
]REFS]

;; [28] 現時点で [CODE(DOMc)@en[[[NAMESPACE_RULE]]]] は [[Opera 9.61]] だけ実装、
[CODE(DOMc)@en[[[COLOR_PROFILE_RULE]]]] は実装なし。

[FIG[
[FIGCAPTION[
[REFS[
- [2] [CITE@en[Re: CSS 3 Namespaces WD comment:  DOM?]] ([[Tantek Çelik]] 著, [TIME[2003-02-15 03:16:55 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-style/2003Feb/0050.html>
]REFS]
]FIGCAPTION]
>The current thinking is to use 8 for NAMESPACE_RULE.
]FIG]

[FIG[
[FIGCAPTION[
[13] [CITE@en[CSS Animations]] ([TIME[2013-02-19 23:45:05 +09:00]] 版) <http://www.w3.org/TR/2013/WD-css3-animations-20130219/#CSSRule-IDL>
]FIGCAPTION]

[PRE(IDL code)[
  const unsigned short KEYFRAMES_RULE = 7;
  const unsigned short KEYFRAME_RULE = 8;
]PRE]
]FIG]

[14] >>13 [[Chrome]] では [CODE(CSS)@en[[[WEBKIT_KEYFRAMES_RULE]]]] が 7、
[CODE(CSS)@en[[[WEBKIT_KEYFRAME_RULE]]]] が 8 のようです。 [TIME[2013-02-20T12:05:16.300Z]]

[1006] [[Gecko]] は [CODE(CSS)@en[[[MOZ_KEYFRAMES_RULE]]]] を実装しています。 [TIME[2013-05-26T08:45:19.00Z]]

* 定数 [CODE(CSS)[8]]

[29] [[css3-animations]] によれば [CODE(CSS)[[[8]]]] は [CODE(DOMc)@en[[[KEYFRAME_RULE]]]] です [SRC[>>12]]。

[1004] [[Chrome]] は [CODE(CSS)@en[[[WEBKIT_KEYFRAME_RULE]]]] を実装しています。 [TIME[2013-05-26T08:38:52.200Z]]

[1007] [[Gecko]] は [CODE(CSS)@en[[[MOZ_KEYFRAME_RULE]]]] を実装しています。 [TIME[2013-05-26T08:45:19.00Z]]

* 定数 [CODE(CSS)[9]]

[30] 定数 [CODE(CSS)[[[9]]]] は [CODE(DOMc)@en[[[COLOR_PROFILE_RULE]]]] ([CODE(CSS)@en[[[@color-profile]]]])
に予約されています [SRC[>>12 [TIME[2013-05-26T08:27:37.400Z]]]]。

* 定数 [CODE(CSS)[10]]

[31] 定数 [CODE(CSS)[[[10]]]] は [CODE(DOMc)@en[[[NAMESPACE_RULE]]]] ([CODE(CSS)@en[[[@namespace]]]])
に使われています [SRC[>>15, >>12]]。

[REFS[
-[9] [CITE@en[CSS 3 Namespaces WD comment:  DOM?]] ([[Alexander J. Vincent]] 著, [TIME[2003-02-13 08:54:26 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-style/2003Feb/0046.html>
-[8] [CITE@en['''['''CSSOM''']''' @namespace at-rule proposal]] ([[Anne van Kesteren]] 著, [TIME[2006-06-06 20:51:01 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-style/2006Jun/0026.html>
]REFS]

[FIG[
[FIGCAPTION[
[REFS[
-[10] [CITE@en[Re: '''['''CSSOM''']''' @namespace at-rule proposal]] ([[Boris Zbarsky]] 著, [TIME[2006-06-07 00:02:22 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-style/2006Jun/0028.html>
]REFS]
]FIGCAPTION]
>
Actually, Mozilla just uses CSSRule for the DOM representation of namespace 
rules (as in, instanceof CSSUnknownRule is false), but .type returns 
UNKNOWN_RULE for lack of anything better to return (since returning anything 
else would not be forward-compatible with spec revisions). 
]FIG]

* 定数 [CODE(CSS)[11]]

[32] [CODE(DOMc)@en[[[COUNTER_STYLE_RULE]]]] ([CODE(CSS)[[[11]]]]) は [CODE(CSS)@en[[[@counter-style]]]]
を表しています [SRC[>>12, [DEL[[[css3-lists]]]], [[css3-counter-styles]]]]。

* 定数 [CODE(CSS)[12]]

[33] [CODE(DOMc)@en[[[SUPPORTS_RULE]]]] ([CODE(CSS)[[[12]]]]) は [CODE(CSS)@en[[[@supports]]]]
を表しています [SRC[>>12, [[css3-conditional]]]]。

[1008] [[Gecko]] は [CODE(CSS)@en[[[SUPPORTS_RULE]]]] を実装しています。 [TIME[2013-05-26T08:45:19.00Z]]

* 定数 [CODE(CSS)[13]]

[34] [CODE(DOMc)@en[[[DOCUMENT_RULE]]]] ([CODE(CSS)[[[13]]]]) は [CODE(CSS)@en[[[@document]]]]
を表しています [SRC[>>12, [[css3-conditional]]]]。

;; [1010] 現在 [[css-conditional]] で [CODE(CSS)@en[[[@document]]]] / [CODE(DOMc)@en[[[DOCUMENT_RULE]]]]
は[[コメントアウト]]されています。 [TIME[2013-07-07T01:09:01.800Z]]

* 定数 [CODE(CSS)[14]]

[35] [CODE(CSS)@en[[[FONT_FEATURE_VALUES_RULE]]]] ([CODE(CSS)[[[14]]]]) は [CODE(CSS)@en[[[@font-feature-values]]]]
を表しています [SRC[>>12, [[css3-fonts]]]]。

* 定数 [CODE(CSS)[15]]

[36] [CODE(CSS)@en[[[VIEWPORT_RULE]]]] ([CODE(CSS)[[[15]]]]) は [CODE(CSS)@en[[[@viewport]]]]
を表しています [SRC[>>12, [[css-device-adapt]]]]。

* 定数 [CODE(CSS)[16]]

[37] [CODE(CSS)@en[[[REGION_STYLE_RULE]]]] ([CODE(CSS)[[[16]]]]) は [CODE(CSS)@en[[[@region-style]]]]
を表しています [SRC[>>12, [[css3-regions]]]]。

[1005] [[Chrome]] は [CODE(CSS)@en[[[WEBKIT_REGION_RULE]]]] を実装しています。 [TIME[2013-05-26T08:39:28.700Z]]

* 定数 [CODE(CSS)[17]]

[1003] [CODE(CSS)@en[[[WEBKIT_FILTER_RULE]]]] を [[Chrome]] が実装しています。 [TIME[2013-05-26T08:38:20.00Z]]

* 定数 [CODE(CSS)[999]] 以下

[38] [CODE[[[999]]]] [[以下]]は将来の標準化のために予約されており、 実験実装や独自機能は
[CODE[[[1000]]]] 以上を使うことになっています [SRC[>>12]]。

* 定数 [CODE[1000]]

[39] [CODE[[[1000]]]] は [CODE(CSS)@en[[[TEXT_TRANSFORM_RULE]]]] ([CODE(CSS)@en[[[@text-transform]]]])
が提案されています [SRC[>>12]]。

* 定数 [CODE[1001]]

[40] [CODE[[[1001]]]] は [CODE(CSS)@en[[[HOST_RULE]]]] ([CODE(CSS)@en[[[@host]]]])
が提案されています [SRC[>>12]]。

[1002] [[Chrome]] が実装しています。 [TIME[2013-05-26T08:37:45.100Z]]

* Opera の定数

[41] [[Opera]] は [CODE[[[0x09E8A001]]]]~[CODE[[[0x09E8AFFF]]]] を使っています [SRC[>>12]]。

;; [43] [[Hexspeak]]

** 定数 [CODE[0x09E8A001]]

[42] [CODE[[[0x09E8A001]]]] は [CODE(CSS)@en[[[NAVIGATION_RULE]]]] ([CODE(CSS)@en[[[@navigation]]]]) に使われています。

* 歴史

[REFS[
- [16] [CITE@en[Document Object Model CSS]] ([TIME[2000-11-09 23:42:54 +09:00]] 版) <http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule>
]REFS]

[1009] [CITE[IRC logs: freenode / #whatwg / 20130524]]
( ([TIME[2013-05-26 19:07:42 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130524#l-210>

[44] [CITE@en[CSSFontFaceRule etc. exposed to Window]]
([[ericwilligers]]著, [TIME[2018-02-22 13:43:25 +09:00]])
<https://github.com/w3c/csswg-drafts/commit/144108785bd098d5b18d3866222254ae7b83696e>

[45] [CITE@en['''['''css-fonts-4''']''' Missing Exposed extended attribute · Issue #2342 · w3c/csswg-drafts]]
([TIME[2018-02-23 13:11:35 +09:00]])
<https://github.com/w3c/csswg-drafts/issues/2342>

[46] [CITE@en[CSSFontFaceRule etc. exposed to Window by ewilligers · Pull Request #2344 · w3c/csswg-drafts]]
([TIME[2018-02-23 13:11:49 +09:00]])
<https://github.com/w3c/csswg-drafts/pull/2344>