Teseor CSS

v2.5.2

  • Home
Guides
  • Getting Started
  • Theming
  • Token Architecture
  • Accessibility
Foundation
  • Colors
  • Design Tokens
  • Grid System
  • Root
  • Spacing
  • Typography
Layout
  • Aspect Ratio
  • Box
  • Center
  • Column
  • Container
  • Content
  • Footer
  • Grid
  • Layout
  • Main
  • Nav Rail
  • Page Header
  • Row
  • Sidebar
  • Sidebar Nav
  • Topbar
Components
  • Actions
    • Button
  • Forms
    • Checkbox
    • Field
    • Fieldset
    • Form
    • Form Error
    • Form Helper
    • Input
    • Label
    • Number Input
    • Password Input
    • Radio
    • Search Input
    • Select
    • Slider
    • Textarea
    • Toggle
  • Data Display
    • Avatar
    • Badge
    • Card
    • Data List
    • Icon
    • Image
    • Stat
    • Status
    • Table
    • Tag
  • Feedback
    • Alert
    • Progress
    • Skeleton
    • Spinner
    • Toast
  • Navigation
    • Breadcrumb
    • Dropdown Menu
    • Menu
    • Nav
    • Pagination
    • Tabs
  • Overlays
    • Dialog
    • Drawer
    • Modal
    • Overlay
    • Popover
    • Tooltip
  • Disclosure
    • Accordion
    • Disclosure
  • Content
    • Divider
    • Scroll Area
    • Spacer
Typography
  • Blockquote
  • Code
  • Heading
  • Kbd
  • Link
  • List
  • Mark
Utilities
  • Container
  • Debug
  • Display
  • Position
  • Scroll Animation
  • Scroll Snap
  • Spacing
  • Text
  • View Transition
  • Visually Hidden

Dropdown Menu

Trigger button with floating menu panel. Reuses the menu component for consistent item styling.

Default

Base

ClassDescription
.ui-dropdown-menuBase class

Open

ClassDescription
.ui-dropdown-menu--openopen

Top

ClassDescription
.ui-dropdown-menu--toptop

Align-end

ClassDescription
.ui-dropdown-menu--align-endalign-end

Full-width

ClassDescription
.ui-dropdown-menu--full-widthfull-width

Override these CSS custom properties to customize the component.

TokenDefaultDescription
--ui-dropdown-menu-z var(--ui-z-index-dropdown) Z-index stacking order
--ui-dropdown-menu-panel-offset var(--ui-space-1) Panel offset from anchor
--ui-dropdown-menu-panel-min-width auto Panel minimum width

With Separator


<div class="ui-dropdown-menu ui-dropdown-menu--open">
  <button class="ui-dropdown-menu__trigger ui-button ui-button--secondary" type="button">File</button>
  <div class="ui-dropdown-menu__panel" role="menu">
    <div class="ui-menu">
      <ul class="ui-menu__group">
        <li>
          <button class="ui-menu__item" role="menuitem">New</button>
        </li>
        <li>
          <button class="ui-menu__item" role="menuitem">Open</button>
        </li>
        <li>
          <button class="ui-menu__item" role="menuitem">Save</button>
        </li>
        <li>
          <hr class="ui-menu__separator">
        </li>
        <li>
          <button class="ui-menu__item ui-menu__item--danger" role="menuitem">Close</button>
        </li>
      </ul>
    </div>
  </div>
</div>

Top Position

<!-- Opens panel above the trigger. -->
<div class="ui-dropdown-menu ui-dropdown-menu--open ui-dropdown-menu--top">
  <button class="ui-dropdown-menu__trigger ui-button">Actions</button>
  <div class="ui-dropdown-menu__panel" role="menu">
    <div class="ui-menu">
      <ul class="ui-menu__group">
        <li><button class="ui-menu__item" role="menuitem">Edit</button></li>
        <li><button class="ui-menu__item" role="menuitem">Delete</button></li>
      </ul>
    </div>
  </div>
</div>

Full Width

<!-- Panel stretches to match trigger width. -->
<div class="ui-dropdown-menu ui-dropdown-menu--open ui-dropdown-menu--full-width">
  <button class="ui-dropdown-menu__trigger ui-button">Select option</button>
  <div class="ui-dropdown-menu__panel" role="menu">
    <div class="ui-menu">
      <ul class="ui-menu__group">
        <li><button class="ui-menu__item" role="menuitem">Option A</button></li>
        <li><button class="ui-menu__item" role="menuitem">Option B</button></li>
      </ul>
    </div>
  </div>
</div>

Align End

<div class="ui-flex ui-justify-end">
  <div class="ui-dropdown-menu ui-dropdown-menu--open ui-dropdown-menu--align-end">
    <button class="ui-dropdown-menu__trigger ui-button ui-button--ghost" type="button">⋮</button>
    <div class="ui-dropdown-menu__panel" role="menu">
      <div class="ui-menu">
        <ul class="ui-menu__group">
          <li>
            <button class="ui-menu__item" role="menuitem">View</button>
          </li>
          <li>
            <button class="ui-menu__item" role="menuitem">Share</button>
          </li>
          <li>
            <button class="ui-menu__item ui-menu__item--danger" role="menuitem">Remove</button>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>