CSS scroll snap

Module CSS scroll snap cung cấp các thuộc tính cho phép bạn kiểm soát hành vi panning và cuộn bằng cách định nghĩa các snap position. Nội dung có thể snap vào vị trí khi người dùng cuộn qua nội dung tràn trong một scroll container, tạo ra khả năng phân trang và định vị cuộn.

Module này bao gồm các thuộc tính scroll-padding của scroll container để điều chỉnh vùng xem tối ưu khi paging trong các thao tác scroll-into-view. Nó cũng bao gồm scroll-margin và scroll-alignment, được đặt trên các phần tử con của scroll container, để điều chỉnh vùng hiển thị của các phần tử con khi chúng được cuộn vào view, cùng với một thuộc tính để buộc cuộn dừng lại trên từng phần tử con.

Scroll snap hoạt động

Để xem scroll snapping hoạt động trong ô bên dưới, hãy cuộn lên-xuống và trái-phải qua lưới gồm 45 ô được đánh số trong viewport có thể cuộn. Nhấp "Play" trong ví dụ bên dưới để xem hoặc chỉnh sửa source trong MDN Playground:

Với scroll snap, một trong các ô được đánh số mà bạn cuộn đến sẽ snap vào vị trí. CSS ban đầu làm cho ô được đánh số snap vào giữa viewport. Dùng các thanh trượt để thay đổi vị trí snap theo block và inline.

Sử dụng các thuộc tính snap, bạn có thể cho phép hoặc chặn cuộn qua một phần tử — ô được đánh số trong trường hợp này. Chọn hộp kiểm "Prevent scrolling past boxes" để buộc tất cả các hành động cuộn chỉ giới hạn cuộn đến ô liền kề.

Để so sánh scroll snapping với cuộn thông thường, hãy chọn hộp kiểm "disable snapping" và thử cuộn lại.

Tham chiếu

Thuộc tính trên container

Thuộc tính trên phần tử con

Sự kiện

Interface

Hướng dẫn

Khái niệm cơ bản của CSS scroll snap

Tổng quan và ví dụ về các tính năng CSS scroll snap.

Sử dụng scroll snap events

Hướng dẫn sử dụng các sự kiện scroll snap scrollsnapchangingscrollsnapchange được kích hoạt khi trình duyệt xác định một snap target mới đang chờ xử lý hoặc đã được chọn.

Khái niệm liên quan

Đặc tả

Specification
CSS Scroll Snap Module Level 1
CSS Scroll Snap Module Level 2

Xem thêm