Hướng dẫn step progress bar bootstrap - thanh tiến trình bước bootstrap
Show
Đã đăng vào thg 3 4, 2020 8:35 SA 4 phút đọc 4 phút đọc Xin chào các bạn, chắc hẳn khi làm Front-end không ít lần bạn sẽ gặp phải từ khóa 'Step Progress Bar' (từ đây mình sẽ gọi tắt là SPB). Nó là gì ý nhỉ ? SPB hiểu nôm na là một mô phỏng các bước tiến trình trong một luồng sự kiện nào đó. Ví dụ như chức năng thanh toán giỏ hàng bao gồm: Thêm sản phẩm vào giỏ hàng > Xác nhận giỏ hàng > Thanh toán, hoặc chức năng đăng kí tài khoản gồm: Điền thông tin > Xác nhận > Đăng ký, blabla... Như vậy nhờ có SPB người dùng có thể dễ dàng biết họ đang ở bước nào để dễ dàng tương tác với hệ thống hơn, và ở bài viết này mình sẽ cùng các bạn xây dựng SPB hoàn toàn bằng CSS Trong bài viết này mình sẽ demo luồng gồm 5 step và chúng ta đang ở step 3, tức là step 1 và 2 đã hoàn thành. Các trường hợp khác tương tự. Sản phẩm cuối cùng sẽ có dạng như sau5 step và chúng ta đang ở step 3, tức là step 1 và 2 đã hoàn thành. Các trường hợp khác tương tự. Sản phẩm cuối cùng sẽ có dạng như sau Các bước thực hiệnBước 1: Tạo cấu trúc HTMLCấu trúc HTML theo mô tả trên sẽ như sau
Bước 2: Style cơ bản cho các thẻ ul, liTiếp theo ta sẽ cần CSS cho các thẻ 1 dùng để khởi tạo bộ đếm CSS, và các thẻ li sẽ 2 để cùng nằm trên một dòng và có chiều rộng bằng nhau tức 3 (vì mình đang có 5 step)5 step)
Bước 3: Style cho .progressbar { counter-reset: step; padding: 0; } .progressbar li { float: left; list-style: none; position: relative; text-align: center; width: calc(100% / 5); } 4Các chấm tròn ta sẽ sử dụng 5 để tạo, ngoài các style cơ bản ra bạn cần lưu ý 6 và 7, sẽ giúp ta fill bộ đếm đã khởi tạo ở trên vào từng step điều này sẽ giúp bạn không phải điền thủ công số đếm vào từng step
Bước 4: Style cho .progressbar { counter-reset: step; padding: 0; } .progressbar li { float: left; list-style: none; position: relative; text-align: center; width: calc(100% / 5); } 8Tiếp theo ta sẽ tạo ra đường kẻ ngang nối các chấm tròn với nhau bằng việc dùng 9
Tuy nhiên sau khi thêm xong bạn sẽ thấy 5 chấm tròn nhưng sẽ chỉ có 4 đường kẻ vì vậy ta phải xóa đi một đường kẻ của item con đầu tiên đi bằng việc thêm vào dòng CSS sau5 chấm tròn nhưng sẽ chỉ có 4 đường kẻ vì vậy ta phải xóa đi một đường kẻ của item con đầu tiên đi bằng việc thêm vào dòng CSS sau
Bước 5: Thêm style riêng cho các trạng thái .progressbar li:before { background: #fff; border: 2px solid #bebebe; border-radius: 50%; color: #bebebe; content: counter(step); counter-increment: step; display: block; font-weight: 700; height: 30px; line-height: 27px; margin: 0 auto 10px; text-align: center; width: 30px; } 0, .progressbar li:before { background: #fff; border: 2px solid #bebebe; border-radius: 50%; color: #bebebe; content: counter(step); counter-increment: step; display: block; font-weight: 700; height: 30px; line-height: 27px; margin: 0 auto 10px; text-align: center; width: 30px; } 1Và cuối cùng để phân biệt các trạng thái 0, 1 ta sẽ thêm một chút CSS cho 5 9 như sau
Bạn có thể xem nhanh kết quả tại đây Ưu Nhược ĐiểmƯu điểm
Nhược điểm
Kết luậnTrên đây mình đã giới thiệu tới các bạn 'Từng bước xây dựng Step Progress Bar với CSS', hi vọng sẽ giúp ích cho các bạn khi làm việc Nếu thấy bài viết hay, hãy cho mình +1 upvote nhé. Nếu thích mình hãy nhấn nút follow để biết thêm nhiều thứ hay ho hơn. Chúc bạn thành công ! All rights reserved |