Hiện có nhiều js có thể làm cho phần scrollbar này
Nhưng bài viết này tập trung vào phần đơn giản nhất – css
NOTE: Sẽ chỉ hoạt động đối với chrome và các browser sử dụng webkit (non-webkit browsers sẽ không chạy được)
Các phần của scrollbar. Tương ứng với ảnh dưới
::-webkit-scrollbar { /* 1 */ }
::-webkit-scrollbar-button { /* 2 */ }
::-webkit-scrollbar-track { /* 3 */ }
::-webkit-scrollbar-track-piece { /* 4 */ }
::-webkit-scrollbar-thumb { /* 5 */ }
::-webkit-scrollbar-corner { /* 6 */ }
::-webkit-resizer { /* 7 */ }
Đây là những selectors. Chúng cho phép lựa chọn cụ thể của các bộ phận, như khi scrollbar là ở các vị trí khác nhau.
:horizontal :vertical :decrement :increment :start :end :double-button :single-button :no-button :corner-present :window-inactive
:horizontal – Áp dụng cho scrollbar nằm ngang.
:vertical – Áp dụng cho scrollbar nằm dọc.
:decrement – Áp dụng cho button hoặc track của scrollbar Ví dụ muốn cho nút cuộn trang lên hiện ra.
::-webkit-scrollbar-button:start:decrement {display: block;}
:increment – Tương tự với decrement nhưng ngược lại. Ví dụ.
::-webkit-scrollbar-button:end:increment {display: block;}
:start – Áp dụng cho button hoặc track của scrollbar.
:end – Áp dụng cho button hoặc track của scrollbar.
:window-inactive – Áp dụng cho tất cả thành phần trong scrollbar. Chỉ ra cửa sổ chứa các thanh cuộn hiện đang hoạt động.
Tổng hợp lại
::-webkit-scrollbar-track-piece:start {
/* Select the top half (or left half) or scrollbar track individually */
}
::-webkit-scrollbar-thumb:window-inactive {
/* Select the thumb when the browser window isn't in focus */
}
::-webkit-scrollbar-button:horizontal:decrement:hover {
/* Select the down or left scroll button when it's being hovered by the mouse */
}
Ví dụ đơn giản
::-webkit-scrollbar {
width: 12px;
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
