--- title: CSSStyleSheet slug: Web/API/CSSStyleSheet tags: - API - CSSOM - Reference translation_of: Web/API/CSSStyleSheet ---
CSSStyleSheet
インターフェイスは、1 枚の CSS スタイルシートを表します。これは、その親の {{domxref("StyleSheet")}} からプロパティとメソッドを継承します。
スタイルシートは、{{domxref("CSSStyleRule", "スタイル規則", "", 1)}} ("h1,h2 { font-size: 16pt }"
)、様々な @-規則 (@import
, @media
, ...) 等の {{domxref("CSSRule", "規則", "", 1)}} から構成されます。このインターフェイスは、スタイルシート内の規則のリストを調査および変更できます。
CSSStyleSheet オブジェクトを取得できる様々な方法は、{{anch("Notes", "補記")}} セクションを参照してください。
親である {{domxref("Stylesheet")}} からプロパティを継承します。
styleSheet.cssRules[i] // where i = 0..cssRules.length
cssRules
内のアイテムを追加または削除するには、下記のように、CSSStyleSheet
の deleteRule()
メソッドと insertRule()
メソッドを使用します。ownerRule
は、その {{domxref("CSSImportRule")}} を返す。そうでない場合、null
を返す。親である {{domxref("Stylesheet")}} からメソッドを継承します。
一部のブラウザーでは、スタイルシートが異なるドメインから読み込まれている場合、cssRules
の呼び出しで SecurityError
が発生します。
スタイルシートは、多くても 1 個の {{domxref("Document")}} と関連付けられ、これに適用されます ({{domxref("StyleSheet.disabled", "disabled", "", 1)}} でない限り)。与えられた document の CSSStyleSheet
オブジェクトのリストは、{{domxref("document.styleSheets")}} プロパティを使用して取得できます。特定のスタイルシートは、もしあれば、その owner オブジェクト (Node
または CSSImportRule
) からもアクセスできます。
CSSStyleSheet
オブジェクトは、document のスタイルシートが読み込まれた時に、ブラウザーによって自動的に作成され、その document の styleSheets
リストに挿入されます。{{domxref("document.styleSheets")}} リストは直接変更できないため、新しい CSSStyleSheet
オブジェクトを手動で作成する手ごろな方法はありません (とはいえ、Constructable Stylesheet Objects が Web API のどこかに追加される可能性があります)。新しいスタイルシートを作成するには、{{HTMLElement("style")}} 要素か {{HTMLElement("link")}} 要素を document に挿入してください。
スタイルシートを document と関連付ける方法のリスト (おそらく未完成) は次のとおり:
スタイルシートが document と関連付けられる理由 | document リストに現れる |
スタイルシートオブジェクトを与える owner 要素または規則の取得 | owner オブジェクトのインターフェイス | CSSStyleSheet オブジェクトを owner から取得 |
---|---|---|---|---|
document 内の {{HTMLElement("style")}} 要素と {{HTMLElement("link")}} 要素 | はい | {{domxref("StyleSheet.ownerNode", ".ownerNode")}} | {{domxref("HTMLLinkElement")}} または {{domxref("HTMLStyleElement")}}、 {{domxref("SVGStyleElement")}} |
{{domxref("LinkStyle.sheet", ".sheet")}} |
document に適用される他のスタイルシート内の CSS {{cssxref("@import")}} 規則 | はい | {{domxref("CSSStyleSheet.ownerRule", ".ownerRule")}} | {{domxref("CSSImportRule")}} | {{domxref("CSSImportRule.styleSheet", ".styleSheet")}} |
(HTML でない) document 内の <?xml-stylesheet ?> 処理命令 |
はい | {{domxref("StyleSheet.ownerNode", ".ownerNode")}} | {{domxref("ProcessingInstruction")}} | {{domxref("LinkStyle.sheet", ".sheet")}} |
HTTP Link Header | はい | N/A | N/A | N/A |
ユーザーエージェントの (既定の) スタイルシート | いいえ | N/A | N/A | N/A |
仕様書 | 策定状況 | 備考 |
---|---|---|
{{SpecName("CSSOM", "#cssstylesheet", 'CSSStyleSheet')}} | {{Spec2("CSSOM")}} | |
{{SpecName("DOM2 Style", "css.html#CSS-CSSStyleSheet", "CSSStyleSheet")}} | {{Spec2("DOM2 Style")}} | 初期定義 |
{{Compat("api.CSSStyleSheet")}}