Skip to content
Headless UI logo

Headless UI

由 Tailwind CSS 官方团队出品的无样式无头组件库,支持 React 与 Vue,与 Tailwind 原子类原生契合。

Headless UI 界面预览

项目概述

Headless UI 拥有近 2.9 万 GitHub Stars,是由 Tailwind CSS 官方团队(Tailwind Labs)亲自操刀打造的无样式无头组件库。同时支持 React 与 Vue 3,旨在将无障碍交互逻辑与 Tailwind 原子类完美融合。

核心特性

  • ⚡️ Tailwind 官方绝配:原生深度支持 data-focus、data-open 等现代 Tailwind 数据状态修饰符。
  • React & Vue 双端支持:在 React 与 Vue 3 中提供完全一致的 API 与交互体验。
  • ♿️ 开箱即用键盘交互:自动处理 ESC 关闭、Tab 焦点锁定、方向键选单与无障碍屏幕读屏。
  • 纯粹零预设样式:没有任何内联样式干扰,100% 由外部 Tailwind 类名自由掌控视觉。

快速上手与示例代码

npm install @headlessui/react
import { Menu, MenuButton, MenuItems, MenuItem } from '@headlessui/react';

export default function DropdownDemo() {
  return (
    <Menu>
      <MenuButton className="bg-primary text-white px-3 py-1.5 rounded-lg">选项菜单</MenuButton>
      <MenuItems className="bg-card border rounded-lg p-1 shadow-md">
        <MenuItem>
          <button className="data-[focus]:bg-muted p-2 rounded w-full text-left">账户设置</button>
        </MenuItem>
      </MenuItems>
    </Menu>
  );
}

技术选型建议与适用场景

  • 非常适合:基于 Tailwind CSS 构建的 React 或 Vue 3 项目,需要快速实现合规的弹窗、菜单与抽屉。
  • 不适用场景:非 Tailwind 技术栈或需要几百个现成复杂数据表格的企业后台。

讨论与评价

0 条讨论
分享你对该组件库的上手体验、优缺点或建议...

暂无讨论。欢迎分享你对该组件库的上手体验、优缺点或建议!

相关组件推荐

基于同类与技术栈推荐