Css thanh bên dính
Bạn đã bao giờ vào một trang web mà một thành phần "dính" vào màn hình và theo bạn khi bạn cuộn xuống trang chưa? . Trước đây, các nhà phát triển đã sử dụng JavaScript để xây dựng tính năng này, bằng cách tính toán lại vị trí của thanh bên trong sự kiện cuộn của trình duyệt. Điều này rất phức tạp để bảo trì và cũng tốn kém cho hiệu suất Gần đây, tôi rất vui khi phát hiện ra rằng tất cả các trình duyệt máy tính để bàn chính (Chrome, Firefox, Edge và Safari) hiện hỗ trợ thuộc tính CSS Đầu tiên thiết lập hai div. Một đại diện cho nội dung trang chính và sẽ kéo dài qua cuối màn hình. Thứ hai sẽ là thanh bên, chúng tôi sẽ làm cho nó ngắn hơn chiều dài của màn hình, vì vậy chúng tôi có thể thấy rõ ràng nó di chuyển trong ví dụ của chúng tôi. Chúng tôi sử dụng flex để đặt chúng cạnh nhau, bởi vì đó là năm 2018 và cũng vì tôi yêu flex Sử dụng HTML và CSS sau
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Điều này cho chúng ta hai yếu tố trông như thế này Lưu ý rằng chiều cao của các thành phần chính và thanh bên được đặt bằng đơn vị vh. 100vh là chiều cao của khung nhìn hiện tại, do đó, việc đặt chiều cao của div chính thành 150vh sẽ mang lại cho nó chiều cao sẽ là 1. 5 lần so với màn hình Nhưng thanh bên vẫn chưa dính. Khi bạn cuộn xuống trang, thanh bên không theo dõi. Tất cả những gì chúng ta cần làm để khắc phục điều đó là thêm hai dòng CSS
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình (OK, tôi đã nói dối, ba dòng để tương thích với Safari với tiền tố Thuộc tính Đây là cái tôi đã làm trước đó trên CodePen Hãy thử thay đổi chiều cao của thanh bên thành 110vh và xem nó dừng ở cuối màn hình như thế nào. Đẹp Tôi có thể sử dụng vị trí. nếp trong sản xuất?
Như mọi khi, nó phụ thuộc vào ứng dụng cụ thể của bạn và không có câu trả lời nào áp dụng cho mọi tình huống. Nhưng thật tuyệt khi giờ đây chúng tôi có thể xây dựng các tính năng như thế này hoàn toàn bằng CSS và một công cụ hữu ích cần có trong bộ công cụ CSS của bạn |