- Thuộc tính CSS
zoom được đưa vào Internet Explorer vào đầu những năm 2000 là một tính năng lan rộng mà không có tiêu chuẩn, gây ra sự nhầm lẫn cho các nhà phát triển web
zoom là một tính năng đơn giản để phóng to/thu nhỏ kích thước phần tử, nhưng đã gây ra sự không nhất quán giữa các trình duyệt và các vấn đề tương thích
- Về sau, CSS
transform xuất hiện như một giải pháp thay thế tiêu chuẩn, nhưng vẫn liên tục tồn tại những trường hợp cần đến đặc tính của zoom là tác động lên bố cục
- Trong quá trình khảo sát dữ liệu sử dụng,
zoom đã ghi nhận chỉ số phổ biến cao bị thổi phồng do việc dùng zoom:1 để né lỗi của IE
- Cuối cùng, khi CSS Working Group xây dựng đặc tả tiêu chuẩn mới vào năm 2023 và đưa vào dự án Interop 2025,
zoom đã có được sự tiêu chuẩn hóa và hỗ trợ rộng rãi sau 25 năm
Sự xuất hiện của thuộc tính zoom
- Năm 2000,
zoom là một tính năng phi tiêu chuẩn được đưa vào Internet Explorer 5.5, là thuộc tính cho phép điều chỉnh kích thước phần tử theo tỷ lệ
zoom:2 hoạt động như phóng to gấp đôi, zoom:0.1 như thu nhỏ còn một phần mười
- Khi kích thước phần tử thay đổi, bố cục xung quanh cũng được sắp xếp lại
- Tuy nhiên, vì không có đặc tả chính thức nên cách triển khai khác nhau giữa các trình duyệt, điều này gây ra sự nhầm lẫn cho cả nhà phát triển web lẫn người dùng
- Ban đầu, nó mang tính trang trí nhiều hơn nên không ảnh hưởng lớn đến chức năng của website
Nỗ lực tiêu chuẩn hóa và phản ứng của trình duyệt
- Mozilla ngay từ đầu đã ưu tiên tuân thủ tiêu chuẩn, nên bỏ qua
zoom và không đưa nó vào Firefox
- Thay vào đó, thuộc tính CSS
transform xuất hiện để tiêu chuẩn hóa chức năng tương tự
- Cung cấp khả năng kiểm soát mạnh mẽ và hiệu quả hơn
- Tuy vậy, nó không ảnh hưởng đến cách sắp xếp của các phần tử lân cận
- Apple triển khai cả
transform lẫn zoom trong Safari, khiến khác biệt giữa các trình duyệt tiếp tục kéo dài
- Kết quả là
zoom rơi vào một trạng thái lưng chừng: không có trong tiêu chuẩn nhưng vẫn tồn tại ở một số trình duyệt
Chỉ số phổ biến và những hiểu lầm
- Bocoup và Mozilla đã khảo sát khả năng sử dụng các tính năng trình duyệt bằng cách tận dụng khảo sát nhà phát triển web, lượng tìm kiếm trên MDN, đề cập trên Stack Overflow, telemetry của Chrome và dữ liệu từ HTTP Archive
- Trái với dự đoán,
zoom xếp hạng cao, nhưng chủ yếu là do mẫu gán zoom:1 để né lỗi của IE
- Trên thực tế, khi loại trừ việc dùng
zoom:1, tổng mức sử dụng giảm 94%
- Vì vậy, Mozilla đã ưu tiên tập trung cải thiện các tính năng khác thay vì
zoom
Tái xuất và tiêu chuẩn hóa
- Trong bug tracker của Firefox, các nhà phát triển liên tục nhấn mạnh nhu cầu về hành vi
zoom có tác động lên bố cục
- Những dịch vụ lớn như Microsoft Excel Web và ứng dụng web di động Gmail cũng phụ thuộc vào tính năng này
- Năm 2023, CSS Working Group đã xây dựng đặc tả
zoom mới để giảm vấn đề tương thích và thúc đẩy tiêu chuẩn hóa
- Sau khi được chọn vào dự án Interop 2025, hiện nay nó đã nhận được hỗ trợ toàn diện từ các trình duyệt lớn
Bài học và kết luận
- Điều này cho thấy quá trình đi đến đồng thuận của tiêu chuẩn web tuy chậm nhưng mang lại lời giải bao trùm cho các nhà phát triển và người dùng trên toàn thế giới
- Đây cũng là bài học rằng phụ thuộc vào công nghệ đóng và phi tiêu chuẩn là rủi ro về lâu dài
- Sau 25 năm nhiều thăng trầm, CSS
zoom đã được tiêu chuẩn hóa và trở thành một ví dụ tiêu biểu cho tầm quan trọng của sự đồng thuận và tiến hóa của nền tảng web
2 bình luận
Lâu rồi mới nhớ lại
*zoom: 1;nhỉWeb thật sự quá tệ hại. Thật khó tin là đến giờ nó vẫn còn chạy được.