非推奨
この機能はウェブ標準から削除されました。まだ対応しているプラウザーがあるかもしれませんが、ゆくゆくはなくなるものです。使用を避け、できれば既存のコードを更新してください。このページの下部にあるブラウザーの対応を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

HTML <shadow> 要素 (Web Components 技術スイートの廃止された部分) は shadow DOM の insertion point として使用するものでした。 shadow ホスト配下に複数の shadow ルートを生成する場合に使用しました。これは通常の HTML としては役立ちません。

コンテンツカテゴリー 透過的コンテンツ
許可されているコンテンツ フローコンテンツ
タグの省略 不可。開始と終了タグの両方が必要。
許可されている親コンテンツ フローコンテンツを受け入れる要素。
許可されている ARIA ロール なし
DOM インターフェイス HTMLShadowElement

属性

この要素はグローバル属性を含みます。

これは <shadow> 要素を使用したシンプルな例です。必要な要素がすべて 1 つの HTML ファイルに含まれています。

メモ: これは実験的な機能です。このコードを実行するには、これを表示するブラウザーが Web Components をサポートしている必要があります。Enabling Web Components in Firefox を参照してください。

<html>
  <head></head>
  <body>

  <!-- この <div> は shadow ルートを含みます -->
  <div>
    <!-- この見出しは表示されません -->
    <h4>My Original Heading</h4>
  </div>

  <script>
    // 上記の <div> コンテンツを取得
    var origContent = document.querySelector('div');
    // 1 つ目の shadow ルートを生成
    var shadowroot1 = origContent.createShadowRoot();
    // 2 つ目の shadow ルートを生成
    var shadowroot2 = origContent.createShadowRoot();

    // 1 つ目の shadow ルートに要素を挿入
    shadowroot1.innerHTML =
      '<p>Older shadow root inserted by
          &lt;shadow&gt;</p>';
    // 2 つ目の shadow ルートに <shadow> を含めて挿入。
    // 前のマークアップは  <shadow> が使われるまで
    // 表示されません
    shadowroot2.innerHTML =
      '<shadow></shadow> <p>Younger shadow root, displayed because it is the youngest.</p>';
  </script>

  </body>
</html>

ブラウザーで表示した場合、次のように見えるはずです。

shadow example

仕様書

この要素はどの仕様書でも定義されていません。

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応
非推奨非標準
Chrome 完全対応 35Edge 未対応 なしFirefox 未対応 33 — 59
無効
未対応 33 — 59
無効
無効 From version 33 until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 26Safari 未対応 なしWebView Android 完全対応 37Chrome Android 完全対応 37Edge Mobile 未対応 なしFirefox Android 未対応 33 — 58
無効
未対応 33 — 58
無効
無効 From version 33 until version 58 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android ? Safari iOS 未対応 なしSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, yyss, YuichiNukiyama
最終更新者: mfuji09,