@ark-ui/react/hover-card + Tailwind CSS v4
Ark Hover Card
Thành phần Hover Card xem trước ngữ cảnh tương tác cao được xây dựng trên nền tảng máy trạng thái Ark UI (Zag.js engine) và tạo kiểu toàn diện với Tailwind CSS v4. Hỗ trợ chuẩn WAI-ARIA, định vị thông minh Floating UI, mũi tên định hướng đồng bộ, cho phép người dùng di chuột trực tiếp vào bên trong để thao tác và cung cấp cả hai phong cách: Tiện ích cấp cao (Convenience API) và Cấu trúc ghép nối linh hoạt (Compound Component API).
1. Cơ bản (Basic Usage)
Sử dụng cú pháp tiện ích cấp cao để hiển thị thẻ xem trước khi người dùng rê chuột hoặc focus vào liên kết/phần tử.
Dự án được khởi tạo và dẫn dắt bởi @sarah_chen
cùng với đội ngũ thiết kế giao diện ChillCMS.
Sarah Chen
@sarah_chen
Design System Lead tại ChillCMS. Đam mê xây dựng trải nghiệm người dùng hiện đại và tiếp cận được với mọi người.
1.2K Đang theo dõi
14.8K Người theo dõi
2. Kích thước (Sizes)
Cung cấp 5 kích thước chuẩn: sm (w-64), md (w-80, mặc định), lg (w-96), xl (w-112) và auto (tự co giãn).
Size SMsm
Thẻ gọn (w-64), thích hợp cho nhãn chú thích vắn tắt hoặc tag metadata ngắn.
Size MDmd
Kích thước mặc định (w-80), tối ưu cho user preview, liên kết tóm tắt tiêu chuẩn.
Size LGlg
Kích thước rộng (w-96), phù hợp cho card sản phẩm, bài viết có hình ảnh thumbnail lớn.
Size XLxl
Kích thước siêu rộng (w-112), lý tưởng cho bảng thống kê, bảng điều khiển mini hoặc so sánh.
Size Autoauto
Tự co giãn theo kích thước nội dung con truyền vào, tối đa độ linh hoạt.
3. Biến thể phong cách (Variants)
Đa dạng biến thể bề mặt: default, subtle, elevated, glass (hiệu ứng kính mờ) và solid (nền tối luxury).
Biến thể: Default
Bề mặt surface-raised với viền tiêu chuẩn và đổ bóng shadow-xl.
Biến thể: Subtle
Bề mặt phẳng nhẹ nhàng, viền mờ subtle, tối giản thị giác.
Biến thể: Elevated
Bề mặt surface-floating nổi bật với bóng sâu shadow-2xl.
Biến thể: Glass
Hiệu ứng kính mờ thời thượng với backdrop-blur và viền sáng bán trong suốt.
Biến thể: Solid
Tương phản cực mạnh với nền tối cao cấp (dark slate / zinc 950).
4. Vị trí hiển thị (Placements)
Tùy chọn 8 hướng neo vị trí khác nhau kèm thuật toán tự động tránh tràn viền màn hình (Flip & Shift).
Neo vị trí:
top-start
Neo vị trí:
top
Neo vị trí:
top-end
Neo vị trí:
bottom-start
Neo vị trí:
bottom
Neo vị trí:
bottom-end
Neo vị trí:
left
Neo vị trí:
right
5. Mũi tên chỉ hướng (With & Without Arrow)
Tùy chọn hiển thị mũi tên định hướng (hasArrow: true/false) đồng bộ màu nền và viền chuẩn xác.
Có mũi tên (hasArrow: true)
Mũi tên chỉ hướng tự động định vị và đồng bộ màu nền, viền chính xác với card.
Không có mũi tên (hasArrow: false)
Thẻ lơ lửng tối giản, phù hợp với phong cách phẳng hiện đại.
6. Độ trễ đóng mở (Custom Delays)
Điều chỉnh openDelay và closeDelay để tối ưu trải nghiệm, tránh mở ngoài ý muốn khi rê chuột lướt qua.
Phản hồi siêu tốc (50ms / 100ms)
Mở gần như ngay lập tức khi rê chuột vào và đóng nhanh khi rời chuột.
Mặc định (200ms / 300ms)
Độ trễ tiêu chuẩn giúp chống vô tình mở khi lướt chuột qua và cho phép di chuyển chuột vào thẻ.
Trì hoãn có chủ đích (600ms / 500ms)
Chỉ mở khi người dùng chủ động dừng chuột lại trên phần tử, hoàn toàn tránh gián đoạn khi đọc nội dung.
7. Hồ sơ người dùng nâng cao (User Profile)
Xem trước hồ sơ mạng xã hội hoàn chỉnh với ảnh đại diện, huy hiệu xác minh, thống kê bài viết và nút theo dõi.
Rê chuột vào thẻ tác giả bài viết để xem hồ sơ chi tiết:
Alex Rivera
@alexrivera
Alex Rivera
@alexrivera • chillcms/core
Senior Frontend Architect & Core Maintainer @ChillCMS. Chuyên gia thiết kế Design System, Accessibility và hiệu năng web.
Đà Nẵng, Việt Nam
Tham gia T3/2023
142
Bài viết
8.5K
Người theo dõi
389
Đang theo dõi
8. Xem trước liên kết (Link Preview - OpenGraph)
Thẻ xem trước bài viết với hình ảnh thumbnail, tiêu đề bài viết, tóm tắt và thời gian đọc.
Để tìm hiểu sâu hơn về kiến trúc tối ưu hóa hiệu năng render, hãy tham khảo bài viết Tối ưu hóa hiệu năng React 19 và Tailwind CSS v4
được đăng tải trên ChillCMS Engineering Blog.
chillcms.dev
5 phút đọc
Tối ưu hóa hiệu năng React 19 và Tailwind CSS v4 trong ChillCMS
Khám phá các kỹ thuật kiến trúc đột phá, compiler modern CSS, giảm thiểu JavaScript bundle và cơ chế streaming UI hiện đại.
Chuyên mục Kỹ thuậtĐọc ngay
9. Xem trước sản phẩm E-commerce (Product Preview)
Hiển thị thông tin sản phẩm mua sắm nhanh: ảnh, nhãn giảm giá, đánh giá sao và nút thêm vào giỏ.
Trong đơn hàng vừa đặt có sản phẩm Nike Air Max Pulse
đang trong giai đoạn đóng gói và chuẩn bị giao hàng.
-25%
Còn hàng
Giày thể thao Nam
Nike Air Max Pulse Crimson Edition
4.9(240 đánh giá)
2.450.000 ₫
3.200.000 ₫
10. Điều khiển trạng thái (Controlled Mode)
Quản lý việc mở/đóng thẻ từ bên ngoài bằng React State kết hợp thuộc tính open và sự kiện onOpenChange.
Trạng thái hiện tại: ĐÓNG (false)
Bạn cũng có thể rê chuột vào phần tử bên dưới hoặc bấm nút phía trên để điều khiển: Phần tử được kiểm soát
Controlled Hover CardSync State
Trạng thái mở/đóng được đồng bộ hóa hai chiều (Two-way sync) giữa sự kiện hover chuột tự nhiên và React State bên ngoài.
11. Chia sẻ Hover Card qua nhiều Triggers (Multiple Triggers)
Nhiều avatar kích hoạt dùng chung 1 instance HoverCard duy nhất. Thẻ chuyển vị trí tức thì mượt mà.
Rê chuột liên tục qua các thành viên bên dưới. Thẻ định vị lại tức thì mà không bị chớp giật hay đóng mở lại:
4 cộng tác viên cốt lõi
Sarah Chen
Design System Lead
Đóng góp342 commits
CSSArk UITokens
12. Cấu trúc ghép nối (Compound Component API)
Kiểm soát chi tiết từng phần của thẻ thông qua ArkHoverCard.Root, Trigger, Positioner, Content, Header, Body, Footer.
Sử dụng cấu trúc Compound Component (`ArkHoverCard.Root`, `Trigger`, `Content`, `Header`, `Body`, `Footer`):
Xác thực 2 lớp (2FA)
Tài khoản của bạn đang được bảo vệ bởi TOTP Authenticator và Khóa bảo mật WebAuthn (Passkey).
Google Authenticator: 1 thiết bị
YubiKey 5C NFC: 1 khóa cứng
Cập nhật 2 ngày trước
13. Nội dung tương tác phong phú (Interactive Actions)
Cho phép người dùng tương tác trực tiếp với các phần tử bên trong thẻ như sao chép lệnh terminal, lưu bookmark hoặc mở liên kết ngoài mà thẻ không bị tự đóng.
Thẻ có thể chứa các phần tử tương tác đầy đủ (nút bấm, sao chép mã, chuyển đổi trạng thái): chakra-ui/ark
ark-ui/ark
chakra-ui/ark
Universal headless UI component library powered by Zag.js state machines.
pnpm add @ark-ui/react
v5.39.2
Trang chủ