summaryrefslogtreecommitdiff
path: root/devdocs/html/element%2Fslot.html
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
committerCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
commit754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch)
treef1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/html/element%2Fslot.html
new repository
Diffstat (limited to 'devdocs/html/element%2Fslot.html')
-rw-r--r--devdocs/html/element%2Fslot.html128
1 files changed, 128 insertions, 0 deletions
diff --git a/devdocs/html/element%2Fslot.html b/devdocs/html/element%2Fslot.html
new file mode 100644
index 00000000..e7b67e7a
--- /dev/null
+++ b/devdocs/html/element%2Fslot.html
@@ -0,0 +1,128 @@
+<header><h1>&lt;slot&gt;: The Web Component Slot element</h1></header><div class="section-content"><p>The <code>&lt;slot&gt;</code> <a href="../index">HTML</a> element—part of the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components">Web Components</a> technology suite—is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together.</p></div>
+<h2 id="attributes">Attributes</h2>
+<div class="section-content">
+<p>This element includes the <a href="../global_attributes">global attributes</a>.</p> <dl> <dt id="name"><a href="#name"><code>name</code></a></dt> <dd> <p>The slot's name.</p> <p>A <strong><em>named slot</em></strong> is a <code>&lt;slot&gt;</code> element with a <code>name</code> attribute.</p> </dd> </dl>
+</div>
+<h2 id="examples">Examples</h2>
+<div class="section-content">
+<div class="code-example">
+<p class="example-header"><span class="language-name">html</span></p>
+<pre data-signature="EdmHcu4vr/mG3mZb9UbYS3bWpOcGqGLEvp/AfS718+U=" data-language="html"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>template</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>element-details-template<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>style</span><span class="token punctuation">&gt;</span></span><span class="token style"><span class="token language-css">
+ <span class="token selector">details</span> <span class="token punctuation">{</span>
+ <span class="token property">font-family</span><span class="token punctuation">:</span> <span class="token string">"Open Sans Light"</span><span class="token punctuation">,</span> Helvetica<span class="token punctuation">,</span> Arial<span class="token punctuation">,</span> sans-serif<span class="token punctuation">;</span>
+ <span class="token punctuation">}</span>
+ <span class="token selector">.name</span> <span class="token punctuation">{</span>
+ <span class="token property">font-weight</span><span class="token punctuation">:</span> bold<span class="token punctuation">;</span>
+ <span class="token property">color</span><span class="token punctuation">:</span> #217ac0<span class="token punctuation">;</span>
+ <span class="token property">font-size</span><span class="token punctuation">:</span> 120%<span class="token punctuation">;</span>
+ <span class="token punctuation">}</span>
+ <span class="token selector">h4</span> <span class="token punctuation">{</span>
+ <span class="token property">margin</span><span class="token punctuation">:</span> 10px 0 -8px 0<span class="token punctuation">;</span>
+ <span class="token property">background</span><span class="token punctuation">:</span> #217ac0<span class="token punctuation">;</span>
+ <span class="token property">color</span><span class="token punctuation">:</span> white<span class="token punctuation">;</span>
+ <span class="token property">padding</span><span class="token punctuation">:</span> 2px 6px<span class="token punctuation">;</span>
+ <span class="token property">border</span><span class="token punctuation">:</span> 1px solid #cee9f9<span class="token punctuation">;</span>
+ <span class="token property">border-radius</span><span class="token punctuation">:</span> 4px<span class="token punctuation">;</span>
+ <span class="token punctuation">}</span>
+ <span class="token selector">.attributes</span> <span class="token punctuation">{</span>
+ <span class="token property">margin-left</span><span class="token punctuation">:</span> 22px<span class="token punctuation">;</span>
+ <span class="token property">font-size</span><span class="token punctuation">:</span> 90%<span class="token punctuation">;</span>
+ <span class="token punctuation">}</span>
+ <span class="token selector">.attributes p</span> <span class="token punctuation">{</span>
+ <span class="token property">margin-left</span><span class="token punctuation">:</span> 16px<span class="token punctuation">;</span>
+ <span class="token property">font-style</span><span class="token punctuation">:</span> italic<span class="token punctuation">;</span>
+ <span class="token punctuation">}</span>
+ </span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>style</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>details</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>summary</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>code</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>name<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
+ <span class="token entity named-entity">&amp;lt;</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>slot</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>element-name<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>NEED NAME<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>slot</span><span class="token punctuation">&gt;</span></span><span class="token entity named-entity">&amp;gt;</span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>code</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>span</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>desc<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>slot</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>description<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>NEED DESCRIPTION<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>slot</span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>span</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>summary</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>attributes<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h4</span><span class="token punctuation">&gt;</span></span>Attributes<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h4</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>slot</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>attributes<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span><span class="token punctuation">&gt;</span></span>None<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>p</span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>slot</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>details</span><span class="token punctuation">&gt;</span></span>
+ <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>hr</span> <span class="token punctuation">/&gt;</span></span>
+<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>template</span><span class="token punctuation">&gt;</span></span>
+</pre>
+</div> <div class="notecard note" id="sect1"> <p><strong>Note:</strong> You can see this complete example in action at <a href="https://github.com/mdn/web-components-examples/tree/main/element-details" target="_blank">element-details</a> (see it <a href="https://mdn.github.io/web-components-examples/element-details/" target="_blank">running live</a>). In addition, you can find an explanation at <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots">Using templates and slots</a>.</p> </div>
+</div>
+<h2 id="technical_summary">Technical summary</h2>
+<div class="section-content"><figure class="table-container"><div class="_table"><table class="properties"> <tbody> <tr> <th scope="row"><a href="../content_categories">Content categories</a></th> <td> <a href="../content_categories#flow_content">Flow content</a>, <a href="../content_categories#phrasing_content">phrasing content</a> </td> </tr> <tr> <th scope="row">Permitted content</th> <td><a href="../content_categories#transparent_content_model">Transparent</a></td> </tr> <tr> <th scope="row">Events</th> <td><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/slotchange_event"><code>slotchange</code></a></td> </tr> <tr> <th scope="row">Tag omission</th> <td>None, both the starting and ending tag are mandatory.</td> </tr> <tr> <th scope="row">Permitted parents</th> <td> Any element that accepts <a href="../content_categories#phrasing_content">phrasing content</a> </td> </tr> <tr> <th scope="row">Implicit ARIA role</th> <td><a href="https://www.w3.org/TR/html-aria/#dfn-no-corresponding-role" target="_blank">No corresponding role</a></td> </tr> <tr> <th scope="row">Permitted ARIA roles</th> <td>No <code>role</code> permitted</td> </tr> <tr> <th scope="row">DOM interface</th> <td><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement"><code>HTMLSlotElement</code></a></td> </tr> </tbody> </table></div></figure></div>
+<h2 id="specifications">Specifications</h2>
+<div class="_table"><table class="standard-table">
+<thead><tr><th scope="col">Specification</th></tr></thead>
+<tbody>
+<tr><td><a href="https://html.spec.whatwg.org/multipage/scripting.html#the-slot-element">HTML Standard <br><small># the-slot-element</small></a></td></tr>
+<tr><td><a href="https://dom.spec.whatwg.org/#shadow-tree-slots">DOM Standard <br><small># shadow-tree-slots</small></a></td></tr>
+</tbody>
+</table></div>
+<h2 id="browser_compatibility">Browser compatibility</h2>
+<div class="_table"><table>
+<thead>
+<tr id="bct-browser-type">
+<th></th>
+<th colspan="6">Desktop</th>
+<th colspan="6">Mobile</th>
+</tr>
+<tr id="bct-browsers">
+<th></th>
+<th>Chrome</th>
+<th>Edge</th>
+<th>Firefox</th>
+<th>Internet Explorer</th>
+<th>Opera</th>
+<th>Safari</th>
+<th>WebView Android</th>
+<th>Chrome Android</th>
+<th>Firefox for Android</th>
+<th>Opera Android</th>
+<th>Safari on IOS</th>
+<th>Samsung Internet</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<th><code>slot</code></th>
+<td class="bc-supports-yes">53</td>
+<td class="bc-supports-yes">79</td>
+<td class="bc-supports-yes">63</td>
+<td class="bc-supports-no">No</td>
+<td class="bc-supports-yes">40</td>
+<td class="bc-supports-yes">10</td>
+<td class="bc-supports-yes">53</td>
+<td class="bc-supports-yes">53</td>
+<td class="bc-supports-yes">63</td>
+<td class="bc-supports-yes">41</td>
+<td class="bc-supports-yes">10</td>
+<td class="bc-supports-yes">6.0</td>
+</tr>
+<tr>
+<th><code>name</code></th>
+<td class="bc-supports-yes">53</td>
+<td class="bc-supports-yes">79</td>
+<td class="bc-supports-yes">63</td>
+<td class="bc-supports-no">No</td>
+<td class="bc-supports-yes">40</td>
+<td class="bc-supports-yes">10</td>
+<td class="bc-supports-yes">53</td>
+<td class="bc-supports-yes">53</td>
+<td class="bc-supports-yes">63</td>
+<td class="bc-supports-yes">41</td>
+<td class="bc-supports-yes">10</td>
+<td class="bc-supports-yes">6.0</td>
+</tr>
+</tbody>
+</table></div>
+<h2 id="see_also">See also</h2>
+<div class="section-content"><ul> <li>HTML <a href="template"><code>&lt;template&gt;</code></a> element</li> <li>HTML <a href="../global_attributes/slot"><code>slot</code></a> attribute</li> <li>CSS <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::slotted"><code>::slotted</code></a> pseudo-element</li> <li>
+<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_scoping">CSS scoping</a> module</li> </ul></div><div class="_attribution">
+ <p class="_attribution-p">
+ &copy; 2005&ndash;2023 MDN contributors.<br>Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.<br>
+ <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot" class="_attribution-link">https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot</a>
+ </p>
+</div>