---
title: "Timeline"
type: component
version: "2.2.2"
doc_version: "2.7.3"
status: stable
date: 2026-07-05
library: Frutjam
stack: tailwind_css
compatibility: universal
framework_agnostic: true
runtime_requirement: none
description: "Tailwind CSS Timeline for chronological events, milestones, and process steps. Vertical and horizontal layouts with icons and connectors for history UIs."
url: https://frutjam.com/zh-hant/components/timeline
---

# Timeline Component

時間軸組件依時間順序顯示一系列事件、里程碑或敘述進度。時間表採用語義 HTML 構建，可協助使用者了解歷史進展和專案階段。 Frutjam 時間軸系統支援多種方向、顏色和專案樣式，非常適合專案歷史記錄、發行說明和旅程地圖。

僅 CSS，無需 JavaScript。 WCAG AA 可存取且與框架無關 - 可與 Django、HTMX、Laravel、React 和任何堆疊配合使用。

| 班級            | 類型  | 描述                                                                                                                                                                                                       |
| ------------- | --- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| timeline      | 根據  | 按時間順序排列的事件列表                                                                                                                                                                                             |
| timeline-item | 修飾符 | 單獨的事件行 — 放置在每個 ` 上                                                                                                                    基本用法        帶顏色的時間軸 <br>在每個時間軸項目上新增顏色修飾符，以為其點和從其尾隨的連接線著色。   ```html <ul class="timeline timeline-vertical">   <li class="timeline-item timeline-primary">     <div class="timeline-start text-sm opacity-60">Step 1</div>     <div class="timeline-middle"></div>     <div class="timeline-end"><div class="font-semibold">Primary</div></div>   </li>   <li class="timeline-item timeline-secondary">     <div class="timeline-start text-sm opacity-60">Step 2</div>     <div class="timeline-middle"></div>     <div class="timeline-end"><div class="font-semibold">Secondary</div></div>   </li>   <li class="timeline-item timeline-success">     <div class="timeline-start text-sm opacity-60">Step 3</div>     <div class="timeline-middle"></div>     <div class="timeline-end"><div class="font-semibold">Success</div></div>   </li>   <li class="timeline-item timeline-warning">     <div class="timeline-start text-sm opacity-60">Step 4</div>     <div class="timeline-middle"></div>     <div class="timeline-end"><div class="font-semibold">Warning</div></div>   </li>   <li class="timeline-item timeline-error">     <div class="timeline-start text-sm opacity-60">Step 5</div>     <div class="timeline-middle"></div>     <div class="timeline-end"><div class="font-semibold">Error</div></div>   </li> </ul> ```       交替雙方 <br>在每個專案上的 timeline-start 和 timeline-end 之間交替內容以建立鋸齒形佈局。   ```html <ul class="timeline timeline-vertical">   <li class="timeline-item timeline-primary">     <div class="timeline-start">       <div class="font-semibold">Design phase</div>       <div class="text-sm opacity-60">Jan 2024</div>     </div>     <div class="timeline-middle"></div>     <div class="timeline-end"></div>   </li>   <li class="timeline-item timeline-secondary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Development</div>       <div class="text-sm opacity-60">Mar 2024</div>     </div>   </li>   <li class="timeline-item timeline-accent">     <div class="timeline-start">       <div class="font-semibold">Testing</div>       <div class="text-sm opacity-60">May 2024</div>     </div>     <div class="timeline-middle"></div>     <div class="timeline-end"></div>   </li>   <li class="timeline-item timeline-success">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Launch</div>       <div class="text-sm opacity-60">Jun 2024</div>     </div>   </li> </ul> ```       雙色調連接器 <br>每個項目的連接線都會繼承其顏色，從而在不同顏色的步驟之間創建無縫過渡。   ```html <ul class="timeline timeline-vertical timeline-snap-start">   <li class="timeline-item timeline-info">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Planned</div>       <div class="text-sm opacity-60">Backlog item created</div>     </div>   </li>   <li class="timeline-item timeline-primary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">In Progress</div>       <div class="text-sm opacity-60">Development started</div>     </div>   </li>   <li class="timeline-item timeline-warning">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">In Review</div>       <div class="text-sm opacity-60">Awaiting approval</div>     </div>   </li>   <li class="timeline-item timeline-success">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Done</div>       <div class="text-sm opacity-60">Shipped to production</div>     </div>   </li> </ul> ```       僅起始端 <br>僅將內容放置在 timeline-start 中，並使用空的 timeline-end 將所有內容推到軸的左側。   ```html <ul class="timeline timeline-vertical timeline-snap-end">   <li class="timeline-item timeline-primary">     <div class="timeline-start">       <div class="font-semibold">Requirements gathered</div>       <div class="text-sm opacity-60">Jan 2024</div>     </div>     <div class="timeline-middle"></div>     <div class="timeline-end"></div>   </li>   <li class="timeline-item timeline-secondary">     <div class="timeline-start">       <div class="font-semibold">Prototype built</div>       <div class="text-sm opacity-60">Feb 2024</div>     </div>     <div class="timeline-middle"></div>     <div class="timeline-end"></div>   </li>   <li class="timeline-item timeline-success">     <div class="timeline-start">       <div class="font-semibold">Shipped</div>       <div class="text-sm opacity-60">Mar 2024</div>     </div>     <div class="timeline-middle"></div>     <div class="timeline-end"></div>   </li> </ul> ```       僅端面 <br>使用 timeline-snap-start 將點推到左邊緣，所有內容都在右側。   ```html <ul class="timeline timeline-vertical timeline-snap-start">   <li class="timeline-item timeline-primary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Launched beta</div>       <div class="text-sm opacity-60">February 2024</div>     </div>   </li>   <li class="timeline-item timeline-secondary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Public release</div>       <div class="text-sm opacity-60">April 2024</div>     </div>   </li> </ul> ```       卡片內容豐富 <br>將內容包裹在 border rounded-box p-3 區塊中，為每個時間軸事件提供類似卡片的外觀。   ```html <ul class="timeline timeline-vertical timeline-snap-start">   <li class="timeline-item timeline-primary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="border rounded-box p-3 mb-2">         <div class="text-xs opacity-60 mb-1">Jan 15, 2024</div>         <div class="font-semibold">Project Kickoff</div>         <p class="text-sm opacity-70 mt-1">Team assembled, goals defined, and roadmap approved by stakeholders.</p>       </div>     </div>   </li>   <li class="timeline-item timeline-secondary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="border rounded-box p-3 mb-2">         <div class="text-xs opacity-60 mb-1">Mar 1, 2024</div>         <div class="font-semibold">Alpha Released</div>         <p class="text-sm opacity-70 mt-1">Internal testing began with 12 pilot users across 3 departments.</p>       </div>     </div>   </li>   <li class="timeline-item timeline-success">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="border rounded-box p-3 mb-2">         <div class="text-xs opacity-60 mb-1">Jun 10, 2024</div>         <div class="font-semibold">v1.0 General Availability</div>         <p class="text-sm opacity-70 mt-1">Public launch with full documentation, support, and SLA guarantees.</p>       </div>     </div>   </li> </ul> ```       快速啟動 <br>在清單上使用 timeline-snap-start 隱藏開始列並將點與左邊緣對齊。   ```html <ul class="timeline timeline-vertical timeline-snap-start">   <li class="timeline-item timeline-primary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Launched beta</div>       <div class="text-sm opacity-60">February 2024</div>     </div>   </li>   <li class="timeline-item timeline-secondary">     <div class="timeline-start"></div>     <div class="timeline-middle"></div>     <div class="timeline-end">       <div class="font-semibold">Public release</div>       <div class="text-sm opacity-60">April 2024</div>     </div>   </li> </ul> ```       按扣結束 <br>在清單上使用 timeline-snap-end 隱藏結束列並將點與右邊緣對齊。   ```html <ul class="timeline timeline-vertical timeline-snap-end">   <li class="timeline-item timeline-primary">     <div class="timeline-start">       <div class="font-semibold">Launched beta</div>       <div class="text-sm opacity-60">February 2024</div>     </div>     <div class="timeline-middle"></div>     <div class="timeline-end"></div>   </li>   <li class="timeline-item timeline-secondary">     <div class="timeline-start">       <div class="font-semibold">Public release</div>       <div class="text-sm opacity-60">April 2024</div>     </div>     <div class="timeline-middle"></div>     <div class="timeline-end"></div>   </li> </ul> ```      ` |

