Select Component
CSS-only Tailwind CSS select dropdown with primary, secondary, accent, and semantic color variants. Sizes xsāxl, ghost style. WCAG AA accessible, works with Django, HTMX, Laravel, React, and any stack.
Select components provide users with a dropdown list of mutually exclusive options, allowing them to choose one value from a predefined set. Built with native HTML select elements and enhanced with Tailwind CSS styling, selects support multiple sizes, colors, and states. Accessible and keyboard-navigable, select dropdowns are ideal for choosing from large option lists, country selection, and preference panels.
CSS-only, no JavaScript required. WCAG AA accessible and framework-agnostic ā works with Django, HTMX, Laravel, React, and any stack.
| Class | Type | Description |
|---|---|---|
| select | Base | Styled native select dropdown |
| select-soft | Style | Muted tinted background |
| select-ghost | Style | No visible border until focused |
| select-dashed | Style | Dashed border style |
| select-xs | Size | Extra small |
| select-sm | Size | Small |
| select-md | Size | Medium (default) |
| select-lg | Size | Large |
| select-xl | Size | Extra large |
| select-2xl | Size | 2Ć extra large |
| select-primary | Color | Primary theme color border |
| select-secondary | Color | Secondary theme color border |
| select-accent | Color | Accent theme color border |
| select-neutral | Color | Neutral theme color border |
| select-info | Color | Info semantic color border |
| select-success | Color | Success semantic color border |
| select-warning | Color | Warning semantic color border |
| select-error | Color | Error semantic color border |
Basic Usage
1 2 3 4 5 6 | <select class="select"> <option disabled selected>Pick an option</option> <option>Option 1</option> <option>Option 2</option> <option>Option 3</option> </select> |
1 2 3 4 5 6 | <select className="select"> <option disabled selected>Pick an option</option> <option>Option 1</option> <option>Option 2</option> <option>Option 3</option> </select> |
Select Sizes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <select class="select select-xs"> <option>Extra Small</option> <option selected>Select</option> </select> <select class="select select-sm"> <option>Small</option> <option selected>Select</option> </select> <select class="select select-md"> <option>Medium</option> <option selected>Select</option> </select> <select class="select select-lg"> <option>Large</option> <option selected>Select</option> </select> <select class="select select-xl"> <option>Extra Large</option> <option selected>Select</option> </select> <select class="select select-2xl"> <option>2X Large</option> <option selected>Select</option> </select> |
Select Colors
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <select class="select"> <option selected>Default</option> <option>Option 1</option> <option>Option 2</option> </select> <select class="select select-primary"> <option selected>Primary</option> <option>Option 1</option> <option>Option 2</option> </select> <select class="select select-secondary"> <option selected>Secondary</option> <option>Option 1</option> <option>Option 2</option> </select> <select class="select select-accent"> <option selected>Accent</option> <option>Option 1</option> <option>Option 2</option> </select> <select class="select select-info"> <option selected>Info</option> <option>Option 1</option> <option>Option 2</option> </select> <select class="select select-success"> <option selected>Success</option> <option>Option 1</option> <option>Option 2</option> </select> <select class="select select-warning"> <option selected>Warning</option> <option>Option 1</option> <option>Option 2</option> </select> <select class="select select-error"> <option selected>Error</option> <option>Option 1</option> <option>Option 2</option> </select> |
Select Styles
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <select class="select"> <option selected>Default Style</option> <option>Option 1</option> </select> <select class="select select-soft"> <option selected>Soft</option> <option>Option 1</option> </select> <select class="select select-dashed"> <option selected>Dashed</option> <option>Option 1</option> </select> <select class="select select-ghost"> <option selected>Ghost</option> <option>Option 1</option> </select> |
Disabled Select
1 2 3 4 | <select class="select" disabled> <option>Disabled Select</option> <option selected>Option 1</option> </select> |
Select with Label
1 2 3 4 5 6 7 8 9 10 | <label> <span>Choose your favorite country</span> <select class="select select-outline w-full max-w-xs"> <option disabled selected>Pick one</option> <option>United States</option> <option>Canada</option> <option>Mexico</option> <option>Brazil</option> </select> </label> |