 Search
components/accordion: Accordion components/badge: Badge components/button: Button components/checkbox: Checkbox components/dialog: Dialog components/input: Input components/popover: Popover components/pre: Pre components/progress: Progress components/radio: Radio components/range: Range components/separator: Separator components/spinner: Spinner components/switch: Switch components/table: Table components/textarea: Textarea components/tooltip: Tooltip components/typography: Typography components/view: View plugins/plugin-nf: Nerd Font Plugin plugins/theme-catppuccin: Catppuccin Theme plugins/theme-everforest: Everforest Theme plugins/theme-gruvbox: Gruvbox Theme plugins/theme-vitesse: Vitesse Theme plugins/theme-nord: Nord Theme start/ascii-boxes: ASCII Boxes start/changelog: Changelog start/intro: Introduction start/intro: ## Features start/plugins: Plugins start/plugins: ## Official Plugins start/plugins: ### Themes start/plugins: ## Community Plugins contributing/contributing: Contributing contributing/contributing: ## Local Development contributing/contributing: ## Issues contributing/contributing: ## Pull Requests contributing/style-guide: Style Guide contributing/style-guide: ## CSS Units contributing/style-guide: ## Selectors contributing/style-guide: ## Documentation plugins/plugin-dev: Developing Plugins plugins/plugin-dev: ### Style Layers start/tuis-vs-guis: TUIs vs GUIs start/tuis-vs-guis: ## Monospace Fonts start/tuis-vs-guis: ## Character Cells installation/nextjs: Next.js installation/vite: Vite start/theming: Theming start/theming: ## CSS Variables start/theming: ### Font Styles start/theming: ### Colors start/theming: ### Light & Dark start/theming: ## Theme Plugins start/theming: ### Using Multiple Theme Accents start/installation: Installation start/installation: ## Installation start/installation: ## Using CSS start/installation: ## Using ESM start/installation: ## Using a CDN start/installation: ## Full Library Import start/installation: ### CSS start/installation: ### ESM start/installation: ### CDN installation/astro: Astro installation/astro: ## Scoping installation/astro: ### Frontmatter Imports installation/astro: ### <style> tag installation/astro: ### Full Library Import

Accordion

Displays an accordion

1
2 <details is-="accordion">
3 <summary>Open me</summary>
4 <p>Accordion content</p>
5 </details>
6

Import

@import '@webtui/css/components/accordion.css';

Usage

<details is-="accordion">
    <summary>Summary title</summary>
    <p>Accordion content</p>
</details>

Examples

Nesting

1
2 <details is-="accordion">
3 <summary>Parent</summary>
4 <details is-="accordion">
5 <summary>Favorite Child</summary>
6 <details is-="accordion">
7 <summary>Grandchild</summary>
8 <p>Grandchild content</p>
9 </details>
10 </details>
11 <details is-="accordion">
12 <summary>Normal Child</summary>
13 <p>Normal Child content</p>
14 </details>
15 </details>
16

Reference

Extending

To extend the Badge stylesheet, define a CSS rule on the components layer

@layer components {
    details[is-~='accordion'] {
        &[variant-='directory'] {
            summary::before {
                content: '> ';
            }

            &[open] summary::before {
                content: 'v ';
            }
        }

        /* ... */
    }
}

Scope

  • All <details> elements with the is-~="accordion" selector
details[is-~='accordion'] {
    /* ... */
}