Trang chủ
Components
Menu
CSS-only Tailwind CSS vertical menu for navigation lists. Active, disabled, and icon item states. Size variants. WCAG AA accessible, works with Django, HTMX, Laravel, React, and any stack.
Các thành phần menu hiển thị danh sách hành động hoặc tùy chọn điều hướng có tổ chức. Được xây dựng bằng các danh sách HTML ngữ nghĩa và các thành phần liên kết, hệ thống menu Frutjam hỗ trợ bố cục dọc và ngang, menu lồng nhau, biểu tượng và trạng thái hoạt động. Có thể truy cập hoàn toàn bằng điều hướng bằng bàn phím, các menu tích hợp liền mạch với danh sách thả xuống, thanh bên và mẫu điều hướng theo ngữ cảnh.
Chỉ CSS, không cần JavaScript. WCAG AA có thể truy cập và không phụ thuộc vào khung — hoạt động với Django, HTMX, Laravel, React và bất kỳ ngăn xếp nào.
Lớp học
Kiểu
Sự miêu tả
menu Căn cứ Danh sách dọc các mục điều hướng hoặc hành động
menu-item Công cụ sửa đổi Mục có thể nhấp riêng lẻ bên trong menu
menu-title Công cụ sửa đổi Nhãn phần không tương tác
menu-horizontal Công cụ sửa đổi Bố cục ngang
menu-vertical Công cụ sửa đổi Bố cục dọc (mặc định)
menu-active Công cụ sửa đổi Buộc trạng thái hoạt động/được đánh dấu trên một mục
menu-disabled Công cụ sửa đổi Giao diện bị vô hiệu hóa cho một mục menu
menu-xs Kích cỡ Cực nhỏ
menu-sm Kích cỡ Bé nhỏ
menu-md Kích cỡ Trung bình (mặc định)
menu-lg Kích cỡ Lớn
menu-xl Kích cỡ Cực lớn
Cách sử dụng cơ bản
< ul class = "menu menu-horizontal" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >< a class = "menu-item" > Item 2</ a ></ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã
< ul class = "menu menu-vertical" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >< a class = "menu-item" > Item 2</ a ></ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã
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 < ul class = "menu" >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" >
</ path >
</ svg >
Home
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "m21 21-4.34-4.34" />
< circle cx = "11" cy = "11" r = "8" />
</ svg >
Search
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "12" cy = "8" r = "5" />
< path d = "M20 21a8 8 0 0 0-16 0" />
</ svg >
Profile
</ a >
</ li >
</ ul >
Xem mã
< ul class = "menu menu-vertical lg:menu-horizontal" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >< a class = "menu-item" > Item 2</ a ></ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã
Kích thước thực đơn
Thực đơn có tiêu đề
< ul class = "menu w-56" >
< li >
< h2 class = "menu-title" > Title</ h2 >
< ul >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >< a class = "menu-item" > Item 2</ a ></ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
</ li >
</ ul >
Xem mã
< ul class = "menu w-56" >
< li >< a class = "menu-item" > Enabled item</ a ></ li >
< li class = "menu-disabled" >< button disabled class = "menu-item" > disabled item</ button ></ li >
< li class = "menu-disabled" >< a class = "menu-item" aria-disabled = "true" > disabled item</ a ></ li >
</ ul >
Xem mã
< ul class = "menu" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >< a class = "menu-item menu-active" > Item 2</ a ></ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 < ul class = "menu w-56" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >
< a class = "menu-item" > Parent</ a >
< ul >
< li >< a class = "menu-item" > Submenu 1</ a ></ li >
< li >< a class = "menu-item" > Submenu 2</ a ></ li >
< li >
< a class = "menu-item" > Parent</ a >
< ul >
< li >< a class = "menu-item" > Submenu 1</ a ></ li >
< li >< a class = "menu-item" > Submenu 2</ a ></ li >
</ ul >
</ li >
</ ul >
</ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã
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 < ul class = "menu w-56" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >
< div class = "accordion accordion-flush" >
< details open >
< summary > Parent</ summary >
< div class = "accordion-content" >
< ul >
< li >< a class = "menu-item" > Submenu 1</ a ></ li >
< li >< a class = "menu-item" > Submenu 2</ a ></ li >
< li >
< div class = "accordion accordion-flush" >
< details open >
< summary > Parent</ summary >
< div class = "accordion-content" >
< ul >
< li >< a class = "menu-item menu-active" > Submenu 1</ a ></ li >
< li >< a class = "menu-item" > Submenu 2</ a ></ li >
</ ul >
</ div >
</ details >
</ div >
</ li >
</ ul >
</ div >
</ details >
</ div >
</ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã
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 < ul class = "menu" >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" >
</ path >
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "m21 21-4.34-4.34" />
< circle cx = "11" cy = "11" r = "8" />
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "12" cy = "8" r = "5" />
< path d = "M20 21a8 8 0 0 0-16 0" />
</ svg >
</ a >
</ li >
</ ul >
Xem mã
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 < ul class = "menu menu-horizontal" >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" >
</ path >
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "m21 21-4.34-4.34" />
< circle cx = "11" cy = "11" r = "8" />
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "12" cy = "8" r = "5" />
< path d = "M20 21a8 8 0 0 0-16 0" />
</ svg >
</ a >
</ li >
</ ul >
Xem mã
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 < ul class = "menu" >
< li >
< a class = "menu-item tooltip tooltip-end" data-tip = "Home" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" >
</ path >
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item tooltip tooltip-end" data-tip = "Search" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "m21 21-4.34-4.34" />
< circle cx = "11" cy = "11" r = "8" />
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item tooltip tooltip-end" data-tip = "Profile" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "12" cy = "8" r = "5" />
< path d = "M20 21a8 8 0 0 0-16 0" />
</ svg >
</ a >
</ li >
</ ul >
Xem mã
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 < ul class = "menu menu-horizontal" >
< li >
< a class = "menu-item tooltip" data-tip = "Home" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" >
</ path >
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item tooltip" data-tip = "Search" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "m21 21-4.34-4.34" />
< circle cx = "11" cy = "11" r = "8" />
</ svg >
</ a >
</ li >
< li >
< a class = "menu-item tooltip" data-tip = "Profile" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "12" cy = "8" r = "5" />
< path d = "M20 21a8 8 0 0 0-16 0" />
</ svg >
</ a >
</ li >
</ ul >
Xem mã
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 = "menu menu-vertical lg:menu-horizontal" >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" >
</ path >
</ svg >
Home
< span class = "badge badge-xs" > 99+</ span >
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "m21 21-4.34-4.34" />
< circle cx = "11" cy = "11" r = "8" />
</ svg >
Search
</ a >
</ li >
< li >
< a class = "menu-item" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "24" height = "24" viewBox = "0 0 24 24"
fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "12" cy = "8" r = "5" />
< path d = "M20 21a8 8 0 0 0-16 0" />
</ svg >
Profile
< span class = "badge badge-primary badge-xs badge-circle" ></ span >
</ a >
</ li >
</ ul >
Xem mã
Cây tập tin
< ul class = "menu menu-horizontal" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >
< a class = "menu-item" > Parent</ a >
< ul >
< li >< a class = "menu-item" > Submenu 1</ a ></ li >
< li >< a class = "menu-item" > Submenu 2</ a ></ li >
</ ul >
</ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã
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
36
37
38
39
40
41
42
43
44
45 < ul class = "menu xl:menu-horizontal lg:min-w-max" >
< li >
< a class = "menu-item" > Solutions</ a >
< ul >
< li >< a class = "menu-item" > Design</ a ></ li >
< li >< a class = "menu-item" > Development</ a ></ li >
< li >< a class = "menu-item" > Hosting</ a ></ li >
< li >< a class = "menu-item" > Domain register</ a ></ li >
</ ul >
</ li >
< li >
< a class = "menu-item" > Enterprise</ a >
< ul >
< li >< a class = "menu-item" > CRM software</ a ></ li >
< li >< a class = "menu-item" > Marketing management</ a ></ li >
< li >< a class = "menu-item" > Security</ a ></ li >
< li >< a class = "menu-item" > Consulting</ a ></ li >
</ ul >
</ li >
< li >
< a class = "menu-item" > Products</ a >
< ul >
< li >< a class = "menu-item" > UI Kit</ a ></ li >
< li >< a class = "menu-item" > WordPress themes</ a ></ li >
< li >< a class = "menu-item" > WordPress plugins</ a ></ li >
< li >
< a class = "menu-item" > Open source</ a >
< ul >
< li >< a class = "menu-item" > Auth management system</ a ></ li >
< li >< a class = "menu-item" > VScode theme</ a ></ li >
< li >< a class = "menu-item" > Color picker app</ a ></ li >
</ ul >
</ li >
</ ul >
</ li >
< li >
< a class = "menu-item" > Company</ a >
< ul >
< li >< a class = "menu-item" > About us</ a ></ li >
< li >< a class = "menu-item" > Contact us</ a ></ li >
< li >< a class = "menu-item" > Privacy policy</ a ></ li >
< li >< a class = "menu-item" > Press kit</ a ></ li >
</ ul >
</ li >
</ ul >
Xem mã
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 < ul class = "menu lg:menu-horizontal" >
< li >< a class = "menu-item" > Item 1</ a ></ li >
< li >
< div class = "accordion accordion-flush" >
< details open >
< summary > Parent item</ summary >
< div class = "accordion accordion-flush" >
< ul >
< li >< a class = "menu-item" > Submenu 1</ a ></ li >
< li >< a class = "menu-item" > Submenu 2</ a ></ li >
< li >
< div class = "accordion accordion-flush" >
< details open >
< summary > Parent</ summary >
< div class = "accordion-content" >
< ul >
< li >< a class = "menu-item" > item 1</ a ></ li >
< li >< a class = "menu-item" > item 2</ a ></ li >
</ ul >
</ div >
</ details >
</ div >
</ li >
</ ul >
</ div >
</ details >
</ div >
</ li >
< li >< a class = "menu-item" > Item 3</ a ></ li >
</ ul >
Xem mã