Các scroll-snap-type
bất động sản là một phần của CSS Scroll Snap Module. Scroll snapping đề cập đến việc "khóa" vị trí của khung nhìn đối với các phần tử cụ thể trên trang khi cửa sổ (hoặc vùng chứa có thể cuộn) được cuộn. Hãy nghĩ về nó giống như đặt một nam châm lên trên một phần tử dính vào đầu khung nhìn và buộc trang ngừng cuộn ngay tại đó.
Điều này rất hữu ích nếu bạn muốn dừng trình duyệt tại các điểm cụ thể trên trang. Ví dụ: Một người dùng duyệt thư viện ảnh có thể không muốn cuộn qua nửa chừng một hình ảnh - họ có thể muốn hình ảnh “chụp nhanh” vào đúng vị trí khi họ cuộn. Scroll snapping cung cấp cho các nhà phát triển một cách thuần CSS để xử lý hành vi này.
scroll-snap-type
là một thuộc tính bắt buộc trên bất kỳ vùng chứa có thể cuộn nào mà bạn muốn thêm chụp cuộn vào. Nó trả lời ba câu hỏi cho một vùng chứa cuộn:
- Vùng chứa có sử dụng chức năng chụp cuộn không?
- Trên trục nào - x (ngang), y (dọc), khối hoặc nội tuyến - nên áp dụng chụp cuộn?
- Thao tác chụp cuộn nên hoạt động như thế nào? Nó có bị ép buộc 100% thời gian hay nó chỉ có hiệu lực khi người dùng đến “đủ gần” với một vị trí chụp nhanh? Thêm về điều này sau.
.scroll-container ( /* Always force (mandatory) scrolling to a snap point on the y-axis */ scroll-snap-type: y mandatory; )
Cú pháp
scroll-snap-type: none | ( x | y | block | inline | both ) ( mandatory | proximity )
Giá trị
scroll-snap-type
chấp nhận các giá trị sau:
none
tắt chức năng chụp cuộn.x
chỉ cho phép chụp cuộn dọc theo trục x.y
chỉ cho phép chụp cuộn dọc theo trục y.block
chỉ cho phép chụp cuộn dọc theo trục khối.inline
chỉ cho phép chụp cuộn dọc theo trục nội tuyến.both
cho phép chụp cuộn dọc theo cả hai trục (mà bạn có thể coi làx
vày
, hoặcinline
vàblock
.mandatory
là một giá trị nghiêm ngặt cho biết trình duyệt luôn đi đến vị trí nhanh khi không có thao tác cuộn.proximity
là một giá trị nghiêm ngặt cho biết trình duyệt chuyển đến vị trí snap nếu một hành động cuộn khá gần với vị trí snap. Nếu nó không khá gần, thì trình duyệt sẽ không chụp và cuộn sẽ hoạt động bình thường.
Thí dụ
Xem ví dụ về kiểu cuộn bút
bằng CSS-Tricks (@ css-trick) trên CodePen.
Hỗ trợ trình duyệt
Dữ liệu hỗ trợ trình duyệt này là từ Caniuse, có nhiều chi tiết hơn. Một con số cho biết rằng trình duyệt hỗ trợ tính năng ở phiên bản đó trở lên.
Máy tính để bàn
Trình duyệt Chrome | Firefox | I E | Cạnh | Safari |
---|---|---|---|---|
69 | 68 | 11 * | 79 | 11 |
Di động / Máy tính bảng
Chrome dành cho Android | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 11.0-11.2 |
Có liên quan
scroll-padding
scroll-margin
scroll-snap-align
scroll-snap-stop
Tài nguyên
- Đề xuất ứng viên CSS Scroll Snap W3C
- Chụp cuộn CSS thực tế
- Giới thiệu CSS Scroll Snap Points