開源 · 麻省理工學院授權 · 永久免費
可存取的純 CSS Tailwind CSS 元件庫,用於快速開發
Frutjam 是一個速度極快的開源 UI 庫,專為關心可訪問性、標準以及與 Tailwind CSS 無縫集成的開發人員而構建。
符合 W3C、SEO 友好且易於使用。
高度可自訂
由 Tailwind CSS 實用程式類別提供支持
Frutjam 為您提供開箱即用的乾淨組件類,同時讓每個 Tailwind 實用程式都可用於自訂。使用 Frutjam 元件頂部的實用程式類別輕鬆變更間距、顏色、佈局和互動。
可自訂的組件
每個 Frutjam 元件都設計為接受 Tailwind 實用程序,因此您無需編寫自訂 CSS 即可調整樣式。
實用優先控制
使用 text-lg、px-6 和 bg-base-200 等 Tailwind 類別在幾分鐘內自訂元件。
幾秒鐘內即可開始
兩次導入,您就可以開始建置了。沒有建置工具,沒有配置,沒有運行時。
步驟1
透過 npm 安裝
使用單一命令將 Frutjam 新增至您的專案。
npm install frutjam |
步驟2
導入你的CSS
將 Tailwind 和 Frutjam 加入您的樣式表中。
1 2 | @import "tailwindcss"; @import "frutjam"; |
步驟3
使用乾淨的組件
編寫語意類別而不是長效用鏈。
1 2 3 | <button class="btn btn-primary"> Get Started </button> |
查看實際效果
真實的組件、真實的程式碼——複製並發布。
按鈕
1 2 3 4 5 6 | <div class="flex flex-wrap gap-2"> <button type="button" class="btn btn-primary">Primary</button> <button type="button" class="btn btn-outline">Outline</button> <button type="button" class="btn btn-soft btn-success">Success</button> <button type="button" class="btn btn-soft btn-error">Danger</button> </div> |
徽章和標籤
1 2 3 4 5 6 7 | <div class="flex flex-wrap gap-2"> <span class="badge badge-primary">Primary</span> <span class="badge badge-success">Active</span> <span class="badge badge-warning">Pending</span> <span class="badge badge-error">Error</span> <span class="badge">Default</span> </div> |
按鈕尺寸
1 2 3 4 5 6 | <div class="flex flex-wrap items-center gap-2"> <button type="button" class="btn btn-primary btn-xs">XSmall</button> <button type="button" class="btn btn-primary btn-sm">Small</button> <button type="button" class="btn btn-primary">Base</button> <button type="button" class="btn btn-primary btn-lg">Large</button> </div> |
卡片
Card Title
A clean, accessible card component ready to use in any project.
1 2 3 4 5 6 7 8 9 10 | <div class="card card-sm card-outline"> <div class="card-content"> <h4 class="card-title">Card Title</h4> <p>A clean, accessible card component ready to use in any project.</p> <div class="flex gap-2 mt-3"> <button type="button" class="btn btn-primary btn-sm">Action</button> <button type="button" class="btn btn-outline btn-sm">Cancel</button> </div> </div> </div> |
為什麼要使用 Frutjam UI 庫?
Frutjam 是一個免費、開源的純 CSS UI 庫,使用 Tailwind CSS v4 構建,專注於可訪問性和更快的開發。它不需要複雜的 JavaScript 配置或龐大的 JS 捆綁包,這使其成為需要 WCAG 相容元件且 JavaScript 開銷為零的團隊的輕量級 DaisyUI 替代方案。
只需將 @import "frutjam" 加入您的樣式表即可開始。 Frutjam 消除了 HTML 中冗長的 Tailwind CSS 類別清單的需要;只需使用乾淨的語義類別即可輕鬆建立元件。使用簡單的 CSS 變數輕鬆自訂主題,所有元件都會立即更新。
W3C 標準
適用於現代 Web 應用程式的乾淨、有效的 HTML。
無障礙第一
每個組件在構建時都考慮到了 a11y。
色彩對比
組件開箱即透過 WCAG AA/AAA 顏色對比檢查。
搜尋引擎優化友好
語意標記可提高搜尋引擎的可見度。
開發者友善
簡單、直覺的 API 且易於整合。
CSS 和 HTML 優先
沒有 JavaScript 鎖定——風格和結構是第一位的。
Tailwind CSS 支持
與您現有的 Tailwind 工作流程完美配合。
RTL 支持
與從右到左的語言完全相容。
反應靈敏
在任何裝置、任何螢幕尺寸上看起來都很棒。
積極維護
新組件、更新和社區支援。
專業主題
在明暗模式之間切換,或建立自己的模式。
預建佈局和元件
適用於任何專案的即用型構建塊。
開源
麻省理工學院許可並由社區驅動。
插件支援
使用 Markdown 文字編輯器等有用的插件來擴展 Frutjam。
減小 DOM 大小
大量嵌套或不必要的元素可能會導致渲染速度減慢。簡化組件結構並提高效能和可維護性。
Google PageSpeed Insights 為 100/100
使用 Frutjam UI 庫在效能、可訪問性、最佳實踐和 SEO 方面獲得滿分 100 分。該網站完全使用 Frutjam UI 構建,在 Google PageSpeed Insights 上獲得了 100/100 的總分。
網站運行速度更快,提供更好的用戶體驗,並且具有更高的搜尋排名。在當今人工智慧驅動的網路中,速度更快的網站是優先考慮的——人工智慧工具經常即時掃描網站,它們更喜歡快速、高效、不浪費運算資源的頁面。使用面向未來的 UI 庫建立更智慧的產品。
純 CSS,無需 JavaScript。與框架無關並且在任何地方都完全相容。
Frutjam UI 函式庫不需要大量的 JavaScript 包,因為它是用純 CSS 寫的。這使您的專案變得輕量級並針對更快的載入時間和更流暢的效能進行了最佳化。它可以與任何 Web 框架或後端完美配合,無論您使用的是 React、Vue、Angular、Next.js、Django、HTMX、Laravel 還是只是純 HTML。
對於現代框架
你的框架很快。保持這種狀態。
Next.js、Svelte 和 Vue 專為出色的效能和 SEO 而設計——伺服器渲染、最少的 JS、即時水合作用。但是當你為像模態這樣簡單的東西添加一個充滿臃腫 JavaScript 的重型元件庫時,你就放棄了這些框架所承諾的一切。
Frutjam 在設計上是 CSS 優先和原生優先的。沒有 JavaScript 捆綁包。沒有運轉時開銷。沒有佈局變化。您的框架的性能上限將成為您的實際性能——而不僅僅是理論上的性能。
零佈局偏移
純 CSS 元件會立即隨頁面呈現-無需 JavaScript 來繪製 UI。您的累積佈局偏移 (CLS) 保持為 0,保持完美的 PageSpeed 分數。
無 JS 開銷
您的框架因捆绑分割而节省的每一 KB JavaScript,Frutjam 都不会再添加回来。按钮、卡片、模式、徽章——全部采用 CSS。您的互動時間保持很快。
SEO 交付
開箱即用的語意 HTML、W3C 有效標記和 WCAG 顏色對比。搜尋引擎讀取乾淨的結構。將現代框架與 Frutjam 配對,您的頁面可以排名和運行。
不再有醜陋的 HTML,類別名稱更少,易於維護,開發速度更快。
不再有凌亂的類別:一個類別即可完成所有操作。不必一次又一次地為每個元素、每個頁面和每個項目編寫混亂的類,而是使用 Frutjam 組件類名,以便於維護和擴展以及更快的開發,而無需為混亂的類而煩惱。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // Styling a simple button in Tailwind css clutter of utility class <button class="bg-gray-100 text-gray-900 text-sm px-3.5 border font-semibold duration-200 py-2 transition-all hover:border-gray-300 hover:bg-gray-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-900 inline-flex gap-2 rounded-sm active:border-gray-300 active:bg-gray-200 active:shadow-none text-center align-middle cursor-pointer border-gray-200 dark:border-gray-700 dark:bg-neutral-700 dark:text-gray-300 dark:hover:border-gray-950 dark:hover:bg-gray-950 dark:focus-visible:outline-gray-200 dark:active:border-gray-950 dark:active:bg-gray-900"> Button </button> // Styling a simple button in frutjam component class <button class="btn"> Button </button> |
<button type="button" class="btn">Button</button> |
主題和定制
Frutjam 使用簡單的 CSS 變數進行主題化。更改一個變量,每個組件都會立即更新 - 無需重建,無需更改類別。
1 2 3 4 5 6 7 8 9 10 11 12 13 | /* Override the default theme in your CSS */ :root { --color-primary: oklch(55% 0.2 250); --color-primary-content: #fff; --radius-base: 0.5rem; --font-base: "Inter", sans-serif; } /* Dark mode overrides */ [data-theme="dark"] { --color-base-100: oklch(15% 0.01 250); --color-base-content: oklch(90% 0.01 250); } |
您可以客製化什麼
顏色
主要、次要、重音、錯誤、成功、警告和所有基本色調 - 全部透過單一 CSS 變數實現。
邊界半徑
--radius-base 一次縮放所有元件 - 更改一個變量,每個元素都會更新。
版式
字體系列、尺寸比例和行高 - 設定您的類型系統一次,所有組件都會繼承它。
間距和尺寸
組件填充和大小變體 - 使用內建大小修飾符或全域覆蓋間距標記。
元件庫
針對每個用例的預先建置、可存取元件的集合不斷增加。
按鈕和表格
按鈕變體、輸入、複選框、選擇和完整表單佈局。
模態框和對話框
可存取的模式對話框、抽屜和確認提示。
導航
導覽列、側邊欄、麵包屑和選項卡導覽。
卡片和佈局
卡片變體、網格系統和頁面佈局框架。
警報和祝酒詞
狀態警報、通知橫幅和內聯回饋訊息。
徽章和標籤
狀態徽章、類別標籤和標籤元件。
列表和表格
資料表、有序/無序列表和定義清單。
外掛
Markdown 編輯器、語法螢光筆和更多有用的擴充。
社群插件
深受後端開發人員的喜愛。原生優先的 Markdown 編輯器。
大多數編輯器都打破了標準的網路工作流程。 MarkdownEditor 擁抱它 - 直接位於 之上,因此您的後端永遠不會知道任何更改。它僅適用於 form method="POST"、標準 DOM 存取以及每個開箱即用的伺服器框架。
用一行 JS 取代普通的 ,您的用戶將獲得 10 倍更好的體驗,而您的 Django、Laravel 或 PHP 控制器仍保持原樣。
-
無需資料綁定 - 開箱即用,可與
form method="POST"搭配使用 -
標準存取 - 像任何輸入一樣使用
element.value進行讀寫 - 與後端無關 - PHP、Django、Node.js、Laravel、Rails - 全部只讀取純字串
- ~116 KB — 混合所見即所得 + 普通模式、RTL、圖片上傳、即時預覽、零 CSS 衝突
現場演示 - 嘗試:
原生表單集成
增強了標準 。使用普通 提交並透過 request.POST['name'] 存取內容。沒有 preventDefault(),沒有 FormData 建構。
高級圖像上傳
透過 API 配置伺服器上傳。圖像直接進入您的 CDN — 資料庫中沒有 Base64 膨脹,沒有 SEO 損失,沒有佔用大量記憶體的有效負載。
高效能
去抖動預覽更新、快取樣式計算和無衝突鍵盤處理。處理數千行,沒有輸入延遲 - 所有編輯器樣式都具有完整的作用域,因此它可以安全地與任何 CSS 框架一起運行。
Frutjam 相比如何?
了解 Frutjam 如何與普通的 Tailwind CSS、Bootstrap 和 DaisyUI 作為免費且易於訪問的替代方案進行比較。
| 特徵 | Frutjam | 黛西使用者介面 | 普通順風 | 引導程式 |
|---|---|---|---|---|
| 僅 CSS(無需 JavaScript) | ✓ | ✓ | ✓ | 部分的 |
| 語意成分類 | ✓ | ✓ | ✗ | ✓ |
| 每個組件保證 WCAG AA 對比度 | ✓ | 手動的 | 手動的 | 部分的 |
| 與 Tailwind 公用事業一起工作 | ✓ | ✓ | ✓ | ✗ |
| CSS 變數主題 | ✓ | ✓ | ✓ | 有限的 |
| 可實現 100/100 PageSpeed | ✓ | ✓ | 各不相同 | 各不相同 |
| RTL 支持 | ✓ | 部分的 | 部分的 | ✓ |
| 與框架無關(Django、HTMX、Laravel) | ✓ | ✓ | ✓ | ✓ |
| 透過純 CSS 變數的主題,無配置文件 | ✓ | 部分的 | 手動的 | ✗ |
| AI編輯器整合(MCP/上下文) | ✓ 免費 | 有薪資的 | ✗ | ✗ |
AI編輯器集成
使用 Claude Code、Cursor 或 Copilot?
Cherry MCP 將 Frutjam 直接連接到您的 AI 編輯器。取得準確的元件程式碼、正確的類別名稱和最新的文件 - 無需從瀏覽器複製貼上。
嘗試Cherry MCP常見問題
關於 Frutjam 您需要了解的一切。
Frutjam 可以免費使用嗎?
是的 - Frutjam 已獲得 MIT 許可並且完全免費。在個人專案、客戶工作和商業產品中使用它,沒有任何限制,無需歸屬。
Frutjam 適合商業項目嗎?
是的。 Frutjam 是根據 MIT 許可證開源的,允許在個人和商業產品中免費使用,無需任何版稅或限制。
Frutjam 會取代 Tailwind CSS 嗎?
不——Frutjam 建立在 Tailwind 之上。將其視為新增語意元件類別(.btn、.card、.badge)的層,同時保持所有 Tailwind 實用程式類別可用。
我需要 JavaScript 才能使用 Frutjam 嗎?
無需 JavaScript。 Frutjam 是純 CSS - 按鈕、卡片、徽章和表單等元件完全無需 JS 運行時即可運作。對於模態框或下拉式選單等互動模式,它可以與 Alpine.js 或 HTMX 等輕量級函式庫完美搭配。
我可以將 Frutjam 與 React、Vue 或 Angular 一起使用嗎?
是的——Frutjam 完全與框架無關。它適用於任何模板系統或 JS 框架,包括 React、Vue、Angular、Svelte、Next.js、Nuxt、Laravel、Django 和純 HTML。只需導入 CSS 並使用類別即可。
螢幕閱讀器可以使用 Frutjam 嗎?
是的。 Frutjam 遵循 WAI-ARIA 指南,提供適當的角色、鍵盤導航支援和開箱即用的 WCAG AA/AAA 顏色對比 — 使所有使用者無需額外配置即可使用。
使用 Frutjam 時 PageSpeed 是否會提升?
是的。 Frutjam 的 CSS 優先方法完全避免了渲染阻塞 JavaScript。與 W3C 有效標記、適當的顏色對比和本機 HTML 語義相結合,它直接有助於更好的 Core Web Vitals 和 100/100 PageSpeed 分數。
如何自訂顏色、字體和半徑?
覆蓋樣式表中的 CSS 變數 - 設定 --color-primary、--font-base、--radius-base 等。每個元件都會立即接受更改,而無需重建或 HTML 中的任何類別更改。
來自部落格
關於建立 Frutjam 和 CSS 優先 UI 方法的想法。
開源且永久免費
加入社區
Frutjam 是開源且由社群驅動的。社區中的每個組件、修復和想法都讓每個人都受益匪淺。
發現錯誤?有功能請求嗎?想要貢獻一個元件或改進文件嗎?我們很樂意邀請您。