Công nghệ Frosted Glass mở rộng từ game sang web
(tyleo.com)Frosted Glass từ game sang web
-
Giới thiệu
- Khi làm UI developer cho Forza Horizon 3 và Forza Motorsport 7, tác giả đã được trải nghiệm các yếu tố thiết kế acrylic mờ rất đẹp.
- Tác giả muốn tái tạo hiệu ứng tương tự bằng HTML và chia sẻ thử nghiệm đó trên trang này.
-
Vai trò của
backdrop-filter- Cốt lõi của hiệu ứng kính mờ là làm mờ nền bằng Gaussian blur.
- Trong CSS, có thể áp dụng Gaussian blur bằng
backdrop-filtervà hàmblur. - Internet Explorer không hỗ trợ tính năng này.
-
Thêm chiều sâu
- Tác giả đã tạo lớp kính cơ bản bằng
backdrop-filter: blur(10px), nhưng để có hiệu ứng sâu hơn, đã dùngbox-shadow: insetđể thêm chiều sâu ở các cạnh.
- Tác giả đã tạo lớp kính cơ bản bằng
-
Bóng đổ thực
- Để loại bỏ cảm giác như một vật thể 3D bị mắc kẹt trong không gian 2D, tác giả thêm
box-shadowtối để làm lớp kính trông như được nâng lên khỏi nền một cách vật lý.
- Để loại bỏ cảm giác như một vật thể 3D bị mắc kẹt trong không gian 2D, tác giả thêm
-
Tương tác với ánh sáng
- Để cải thiện tương tác giữa kính và ánh sáng, tác giả đưa vào một dạng subsurface scattering đơn giản.
- Dùng
box-shadow: insetđể mô phỏng hiệu ứng ánh sáng lan nhẹ ở mép kính.
-
Ánh sáng thú vị hơn
- Để nhấn mạnh đặc tính phản xạ của kính, tác giả dùng các tia sáng làm ảnh nền.
- Dùng
::befoređể áp dụng ảnh nền lên phần tử kính.
-
Ánh sáng động
- Tác giả dùng CSS và JavaScript để hiện thực hiệu ứng phản xạ động trên mọi nền tảng.
- JavaScript được dùng để điều chỉnh
background-positionđộng nhằm mô phỏng hiệu ứng củabackground-attachment: fixed.
-
Hoàn thiện
- Để hoàn tất hiệu ứng kính, tác giả thêm các góc bo tròn cùng màu sắc và văn bản.
- Dùng
border-radiusđể bo tròn góc, vàoverflow: hiddenđể các phần tử con không tràn ra ngoài bề mặt kính.
-
Kết luận
- Cảm ơn bạn đã theo dõi quá trình tạo hiệu ứng kính mờ.
- Để nhanh chóng sao chép toàn bộ tài nguyên và mã, hãy tham khảo phần "Final Recipe Lookahead" ở đầu bài viết.
1 bình luận
Ý kiến Hacker News
Một người dùng cho biết họ thích yếu tố thẩm mỹ này, nhưng cảm thấy việc phía client liên tục tính toán các bộ lọc blur tốn kém là lãng phí, và xu hướng chung của phát triển web dường như đang tạo ra quá nhiều tải
Một người dùng khác giải thích rằng họ từng trích xuất texture "light rays" của Windows 7 để thử triển khai hiệu ứng tương tự trên Android, và đã tăng nhẹ độ bão hòa của nền bị blur
Một người dùng khác nữa cho rằng bản demo tương tác rất tuyệt, nhưng họ ghét việc dùng hiệu ứng kính mờ trong thiết kế giao diện người dùng, và cảm thấy việc nó được thêm vào Mac OS là một bước lùi
Một người dùng cho biết vào năm 2008 họ đã triển khai hiệu ứng tương tự thông qua một thử nghiệm CSS bằng cách sử dụng ảnh nền được làm mờ sẵn với vị trí cố định
Một người dùng khác nhận xét có 10 hiệu ứng đang chồng lên nhau, và ngoài yếu tố thẩm mỹ được mong muốn nhất thì khoảng 7 hiệu ứng là quá nhiều
Một người dùng cho biết họ thích thêm texture nhiễu để tạo ra kết quả thô ráp hơn
Một người dùng khác nói rằng thành tựu kỹ thuật thì ấn tượng, nhưng UX lại kém
Một người dùng nhắc rằng một trong những demo CSS ban đầu vốn là để tạo hiệu ứng kính mờ, và thấy điều đó khá thú vị
Một người dùng khác cho rằng việc nhìn thấy mặt sáng tạo và mạnh mẽ của CSS luôn rất ấn tượng, nhưng họ cảm thấy mình có lẽ sẽ không bao giờ hiểu được một số mức độ thông hiểu nhất định về HTML/CSS
Cuối cùng, một người dùng nói rằng ví dụ tương tác thì tốt, nhưng sẽ còn tốt hơn nếu có tính năng so sánh hoặc chuyển đổi về phiên bản trước đó