The CSS shadow parts module defines the ::part() pseudo-element that can be set on a shadow host. Using this pseudo-element, you can enable shadow hosts to expose the selected element in the shadow tree to the outside page for styling purposes.
By default, elements in a shadow tree can be styled only within their respective shadow roots. The CSS shadow parts module enables including a part attribute on <template> descendants that make up the custom element, exposing the shadow tree node to external styling via the ::part() pseudo-element.
Alphabetical list of pseudo-elements defined by all the CSS specifications and WebVTT
Overview of the different APIs that enable creating reusable custom elements or web components.
<template> element<slot> elementElement.part propertyElement.shadowRoot propertyElement.attachShadow() methodShadowRoot interface| Specification |
|---|
| CSS Shadow Parts> |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_shadow_parts