# CSS Shadow Parts Guidelines
TABLE OF CONTENTS
- [Definitions](#definitions)
- [Scope](#scope)
- [General Guidelines](#general-guidelines)
- [Standard Parts](#standard-parts)
- [Specialized Parts](#specialized-parts)
- [Documentation](#documentation)
## Definitions
**CSS Shadow Parts:** The CSS shadow parts module defines the [::part()](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/::part) pseudo-element that can be set on a [shadow host](https://developer.mozilla.org/en-US/docs/Glossary/Shadow_tree). 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. [^1]
## Scope
Ionic Framework components that use Shadow DOM expose CSS Shadow Parts to enable custom styling by end users.
This document establishes a standardized naming convention for CSS Shadow Parts in Ionic Framework components.
## General Guidelines
1. **Attempt to use standard parts first**: Use `native`, `wrapper`, `inner`, `container`, and `content` wherever they apply before inventing new names.
2. **Use semantic, kebab-case names**: Choose descriptive names that communicate the role of the element (for example, `detail-icon`, `supporting-text`).
3. **Reuse names for the same concept**: Use the same part name across components when the element serves the same role (for example, `backdrop`, `handle`, `label`).
## Standard Parts
**Name parts by what the element does, not where it appears.** Ask what role the element plays:
| Name | Role |
| --- | --- |
| `native` | Is it a native HTML element that the user interacts with (e.g. `