Deprecated
This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Do not use it in old or new projects. Pages or Web apps using it may break at any time.
The HTML <content>
element is used inside of Shadow DOM as an insertion point. It is not intended to be used in ordinary HTML. It is used with Web Components. It has now been replaced by the <slot> element.
Note: Though present in early draft of the specifications and implemented in several browsers, this element has been removed in later versions of the spec.
Content categories | Transparent content. |
---|---|
Permitted content | Flow content. |
Tag omission | None, both the starting and ending tag are mandatory. |
Permitted parent elements | Any element that accepts flow content. |
DOM interface | HTMLContentElement |
Attributes
This element includes the global attributes.
- select
- A comma-separated list of selectors. These have the same syntax as CSS selectors. They select the content to insert in place of the
<content>
element.
Example
Here is a simple example of using the <content>
element. It is an HTML file with everything needed in it.
Note: For this code to work, the browser you display it in must support Web Components. See Enabling Web Components in Firefox.
<html> <head></head> <body> <!-- The original content accessed by <content> --> <div> <h4>My Content Heading</h4> <p>My content text</p> </div> <script> // Get the <div> above. var myContent = document.querySelector('div'); // Create a shadow DOM on the <div> var shadowroot = myContent.createShadowRoot(); // Insert into the shadow DOM a new heading and // part of the original content: the <p> tag. shadowroot.innerHTML = '<h2>Inserted Heading</h2> <content select="p"></content>'; </script> </body> </html>
If you display this in a web browser it should look like the following.
Specifications
Specification | Status | Comment |
---|---|---|
Shadow DOM The definition of 'content' in that specification. |
Working Draft |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 35 | 28 (28) [1] | No support | 26 | No support |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | 37 | 28.0 (28) [1] | No support | ? | ? |
[1] If Shadow DOM is not enabled in Firefox, <content>
elements will behave like HTMLUnknownElement
. Shadow DOM was first implemented in Firefox 33 and is behind a preference, dom.webcomponents.enabled
, which is disabled by default.