Garis waktu Tailwind CSS khusus CSS untuk daftar peristiwa kronologis. Tata letak vertikal dengan ikon, konten, dan slot baris konektor. WCAG AA dapat diakses, bekerja dengan Django, HTMX, Laravel, React, dan tumpukan apa pun.
Komponen garis waktu menampilkan urutan peristiwa, pencapaian, atau perkembangan narasi dalam urutan kronologis. Dibangun dengan HTML semantik, garis waktu membantu pengguna memahami perkembangan historis dan fase proyek. Sistem garis waktu Frutjam mendukung berbagai arah, warna, dan gaya item—ideal untuk riwayat proyek, catatan rilis, dan peta perjalanan.
Hanya CSS, tidak diperlukan JavaScript. WCAG AA dapat diakses dan tidak memiliki kerangka kerja — bekerja dengan Django, HTMX, Laravel, React, dan tumpukan apa pun.
| Kelas | Jenis | Keterangan |
|---|---|---|
| timeline | Basis | Ordered list of chronological events |
| timeline-item | Pengubah | Baris peristiwa individual — ditempatkan pada setiap <li> |
| timeline-start | Pengubah | Content placed before the timeline axis |
| timeline-middle | Pengubah | Dot centered on the timeline axis |
| timeline-end | Pengubah | Content placed after the timeline axis |
| timeline-horizontal | Pengubah | Tata letak horizontal |
| timeline-vertical | Pengubah | Tata letak vertikal (default) |
| timeline-snap-start | Pengubah | Menyembunyikan kolom awal — titik sejajar dengan tepi kiri |
| timeline-snap-end | Pengubah | Menyembunyikan kolom akhir — titik sejajar dengan tepi kanan |
| timeline-primary | Warna | Titik dan konektor warna primer — letakkan di timeline-item |
| timeline-secondary | Warna | Titik dan konektor warna sekunder — letakkan di timeline-item |
| timeline-accent | Warna | Titik warna aksen dan konektor — letakkan di timeline-item |
| timeline-neutral | Warna | Titik dan konektor berwarna netral — letakkan di timeline-item |
| timeline-info | Warna | Titik warna info dan konektor — letakkan di timeline-item |
| timeline-success | Warna | Titik warna dan konektor berhasil — letakkan di timeline-item |
| timeline-warning | Warna | Titik warna peringatan dan konektor — letakkan di timeline-item |
| timeline-error | Warna | Titik dan konektor warna kesalahan — tempatkan di timeline-item |
Penggunaan Dasar
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 | <ul class="timeline timeline-vertical"> <li class="timeline-item"> <div class="timeline-start text-sm opacity-60">Jan 2024</div> <div class="timeline-middle"></div> <div class="timeline-end"> <div class="font-semibold">Project started</div> <div class="text-sm opacity-60">Initial commit pushed</div> </div> </li> <li class="timeline-item"> <div class="timeline-start text-sm opacity-60">Apr 2024</div> <div class="timeline-middle"></div> <div class="timeline-end"> <div class="font-semibold">Beta released</div> <div class="text-sm opacity-60">Open testing begins</div> </div> </li> <li class="timeline-item"> <div class="timeline-start text-sm opacity-60">Today</div> <div class="timeline-middle"></div> <div class="timeline-end"> <div class="font-semibold">v2.0 launched</div> <div class="text-sm opacity-60">Tailwind v4 rewrite</div> </div> </li> </ul> |
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 | <ul className="timeline timeline-vertical"> <li className="timeline-item"> <div className="timeline-start text-sm opacity-60">Jan 2024</div> <div className="timeline-middle"></div> <div className="timeline-end"> <div className="font-semibold">Project started</div> <div className="text-sm opacity-60">Initial commit pushed</div> </div> </li> <li className="timeline-item"> <div className="timeline-start text-sm opacity-60">Apr 2024</div> <div className="timeline-middle"></div> <div className="timeline-end"> <div className="font-semibold">Beta released</div> <div className="text-sm opacity-60">Open testing begins</div> </div> </li> <li className="timeline-item"> <div className="timeline-start text-sm opacity-60">Today</div> <div className="timeline-middle"></div> <div className="timeline-end"> <div className="font-semibold">v2.0 launched</div> <div className="text-sm opacity-60">Tailwind v4 rewrite</div> </div> </li> </ul> |
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 | <ul class="timeline timeline-vertical"> <li class="timeline-item"> <div class="timeline-start text-sm opacity-60">Jan 2024</div> <div class="timeline-middle"></div> <div class="timeline-end"> <div class="font-semibold">Project started</div> <div class="text-sm opacity-60">Initial commit pushed</div> </div> </li> <li class="timeline-item"> <div class="timeline-start text-sm opacity-60">Apr 2024</div> <div class="timeline-middle"></div> <div class="timeline-end"> <div class="font-semibold">Beta released</div> <div class="text-sm opacity-60">Open testing begins</div> </div> </li> <li class="timeline-item"> <div class="timeline-start text-sm opacity-60">Today</div> <div class="timeline-middle"></div> <div class="timeline-end"> <div class="font-semibold">v2.0 launched</div> <div class="text-sm opacity-60">Tailwind v4 rewrite</div> </div> </li> </ul> |
Timeline with Colors
Add a color modifier to each timeline-item to color its dot and the connector line trailing from it.
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 | <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> |
Alternating Sides
Alternate content between timeline-start and timeline-end on each item to create a zigzag layout.
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 | <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> |
Two-Toned Connectors
Each item's connector line inherits its color, creating seamless transitions between differently-colored steps.
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 | <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> |
Start Side Only
Place content only in timeline-start with an empty timeline-end to push everything to the left of the axis.
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 | <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> |
End Side Only
Use timeline-snap-start to push the dot to the left edge with all content on the right.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <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> |
Rich Card Content
Wrap content in a border rounded-box p-3 block to give each timeline event a card-like appearance.
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 | <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> |
Snap Start
Use timeline-snap-start on the list to hide the start column and align the dot to the left edge.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <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> |
Snap End
Use timeline-snap-end on the list to hide the end column and align the dot to the right edge.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <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> |
Using Claude Code, Cursor, or another AI editor?
Cherry MCP memberi editor AI Anda nama dan struktur kelas Garis Waktu yang tepat sesuai permintaan. Tidak ada lagi kelas berhalusinasi.