Tiệm Công Nghệ

Đang hiện gợi ý.

Đang mở danh mục của tiệm…
↑↓ để di chuyển↵ để mởesc để đóng
Tìm kiếm Tiệm Công Nghệ
Componentv1.0.0~5,2 KB (gzip)

Magnify Dock

Thanh dock kính mờ: icon phồng lên dưới con trỏ, các icon bên cạnh lướt sang nhường chỗ

Miễn phíMiễn phí
Định dạng

.zip · HTML / CSS / JS · v1.0.0

Miễn phí — không cần tài khoản hay email. Luôn là bản mới nhất.

Đang chạy trực tiếp

Phiên bản
Độ rộng khung xem
Thu phóng

Giới thiệu

Thanh dock ai nhìn cũng muốn rê chuột thử, nay dành cho chính trang web của bạn. Lướt con trỏ dọc theo dock, các icon phồng lên như có một thấu kính đi ngang qua, còn những icon bên cạnh khẽ dạt sang nhường chỗ — tấm kính mờ phía sau cũng giãn ra theo. Bấm vào một icon là nó nảy lên, như một ứng dụng đang khởi động.

  • Độ phồng bám theo con trỏ và được làm mượt từng khung hình, nên mềm mại và không bao giờ giật
  • Đặt ở cạnh nào cũng được: nằm ngang ở dưới hay trên, hoặc dựng dọc bên trái hay bên phải
  • Có sẵn tooltip tên, chấm báo đang chạy, vạch ngăn và huy hiệu đếm số
  • Script chỉ ghi kích thước, CSS lo vẽ mọi thứ, nên mượt và nhẹ
  • Không cần cài gì: một file CSS và một script nhỏ, hoặc một file React

Tính năng

  • Icon phồng lên mượt mà quanh con trỏ, icon bên cạnh dạt ra nhường chỗ — không giật, không chồng lên nhau
  • Độ phồng theo đường cosine hoặc gaussian; kích thước, tầm ảnh hưởng và độ mềm đều tuỳ chỉnh được
  • Đặt ở cạnh dưới, trên, trái hay phải: icon phồng ra xa mép, tooltip hiện ở phía ngược lại
  • Có sẵn tooltip tên, hiệu ứng nảy khi bấm, chấm báo đang chạy, vạch ngăn và huy hiệu đếm số
  • Mỗi mục là link hoặc nút thật, bao nhiêu dock trên một trang cũng được
  • Bản HTML/CSS/JS thuần và bản React (dùng được với Next.js)
  • Không phụ thuộc thư viện, khoảng 5 KB sau gzip (cả script lẫn CSS)

Cách dùng

Gắn stylesheet và script một lần, rồi dựng dock bằng các link và nút. Mỗi mục đặt tên trước, icon sau:

HTML
<link rel="stylesheet" href="magnify-dock.css" />
<script src="magnify-dock.js" defer></script>

<div class="magnify-dock" data-magnify-dock aria-label="Ứng dụng">
  <a class="magnify-dock__item" href="/files" data-running>
    <span class="magnify-dock__label">Tệp</span>
    <span class="magnify-dock__icon"><svg aria-hidden="true">…</svg></span>
  </a>
  <button class="magnify-dock__item" type="button">
    <span class="magnify-dock__label">Thư</span>
    <span class="magnify-dock__icon"><svg aria-hidden="true">…</svg><span class="magnify-dock__badge">3</span></span>
  </button>
  <span class="magnify-dock__separator"></span>
  <button class="magnify-dock__item" type="button">…</button>
</div>

Tuỳ chọn qua data attribute đặt trên dock: data-edge (mặc định bottom, hoặc top, left, right), data-magnify-dock-max-scale (1.8 — icon dưới con trỏ to đến mức nào; 1 là tắt kính lúp), data-magnify-dock-range (160, đơn vị px — cách con trỏ bao xa thì icon vẫn còn phồng), data-magnify-dock-curve (cosine, hoặc gaussian cho đỉnh nhọn hơn), data-magnify-dock-smoothing (0.22 — mỗi khung hình icon đi được bao nhiêu phần quãng đường; càng nhỏ càng mềm) và data-magnify-dock-bounce="false" nếu không muốn hiệu ứng nảy.

Trên từng mục: data-running hiện chấm báo; aria-current="page" trên link và aria-pressed="true" trên nút bật/tắt cũng hiện chấm đó. Muốn đổi số đếm sau này: MagnifyDock.setBadge(item, 5) (0 là gỡ đi, quá 99 thì hiện "99+"). Dock thêm vào sau khi trang đã tải: MagnifyDock.init(container) — hàm này trả về một hàm để gỡ ra.

Dock được gán role="toolbar" nếu bạn chưa đặt role nào, nên nhớ thêm aria-label cho nó.

Hỏi về sản phẩm này

Chưa chắc có hợp dự án của bạn? Cứ hỏi — câu trả lời lấy từ chính trang này.

Câu trả lời do AI viết dựa trên trang này và có thể sai. Nội dung trên trang mới là chuẩn.

Lịch sử phiên bản

  1. 1.0.0First releaseMới nhất

    Plain HTML/CSS/JS and React builds. Smooth pointer magnification with neighbours making room, four edges, tooltips, launch bounce, running dots, badges, keyboard, touch and reduced-motion support.

  2. Bản sửa lỗi và tính năng mới đều có ngay ở nút tải này — file tải về luôn là bản mới nhất.
  • ComponentĐiều hướng

    Animated Tabs

    Thanh tab có viên kính trượt giãn từ tab này sang tab kia, nội dung lướt theo cùng hướng

    Miễn phí