Das HTML <shadow>
Element wird als shadow DOM {{glossary("insertion point")}} genutzt. Es kann eventuell gesehen werden, wenn mehrerere shadow roots unter einem shadow host erstellt wurden. Es wird mit Web Components genutzt.
Kategorien des Inhalts | Transparenter Inhalt. |
---|---|
Zulässiger Inhalt | Flow content. |
Tags | {{no_tag_omission}} |
Zulässige Eltern-Elemente | Any element that accepts flow content. |
DOM Schnittstelle | {{domxref("HTMLShadowElement")}} |
Dieses Element inkludiert die Globalen Attribute.
Hier ist ein einfaches Beispiel, welches das <shadow>
Element verwendet. Es ist eine HTML-Datei mit allem was benötigt wird.
Notiz: Dies ist eine experimentelle Technologie. Damit dieser Code funktioniert muss ihr Browser Web Components unterstützen. Aktivieren von Web Components in Firefox.
<html> <head></head> <body> <!-- This <div> will hold the shadow roots. --> <div> <!-- This heading will not be displayed --> <h4>My Original Heading</h4> </div> <script> // Get the <div> above with its content var origContent = document.querySelector('div'); // Create the first shadow root var shadowroot1 = origContent.createShadowRoot(); // Create the second shadow root var shadowroot2 = origContent.createShadowRoot(); // Insert something into the older shadow root shadowroot1.innerHTML = '<p>Older shadow root inserted by <shadow></p>'; // Insert into younger shadow root, including <shadow>. // The previous markup will not be displayed unless // <shadow> is used below. shadowroot2.innerHTML = '<shadow></shadow> <p>Younger shadow root, displayed because it is the youngest.</p>'; </script> </body> </html>
Das obige Beispiel sollte folgendes anzeigen.
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('Shadow DOM', "#the-shadow-element", "shadow")}} | {{Spec2('Shadow DOM')}} |
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 35 | {{CompatGeckoDesktop("28")}}[1] | {{CompatNo}} | 26 | {{CompatNo}} |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | 37 | {{CompatGeckoMobile("28")}}[1] | {{CompatNo}} | {{CompatUnknown}} | {{CompatUnknown}} |
[1] Wenn Shadow DOM nicht in Firefox aktiviert ist, verhalten sich <shadow>
Elemente wie {{domxref("HTMLUnknownElement")}}. Shadow DOM wurde erstmals in Firefox 33 implementiert und steckt hinter der Einstellung dom.webcomponents.enabled
, welche standardmäßig aktiviert ist.