Sự khéo léo của các kỹ thuật hack HTML
- Sự cần thiết của hack HTML: Có những lúc phải viết mã không mấy thanh lịch để đạt được kết quả mong muốn do lỗi của mã HTML hoặc do trình duyệt triển khai chưa đầy đủ. Những kiểu hack này đôi khi rất sáng tạo và đáng để ghi nhớ.
- Hack
@import của Netscape Navigator 4.0: Giúp chặn các kiểu CSS mà Netscape không hỗ trợ. Netscape ủng hộ JSSS thay vì CSS, nhưng khi W3C chọn CSS, việc triển khai CSS của Netscape 4 đã bị thúc ép hoàn thành, khiến nó hoạt động kém hơn so với các trình duyệt về sau.
- Dùng bảng HTML cho bố cục: Cho phép tạo ra các bố cục mang tính thử nghiệm hơn. Việc dùng bảng HTML như một công cụ dàn trang đúng là định nghĩa của một kiểu hack, và trong thế giới email nó vẫn còn được sử dụng.
- Dùng dấu gạch dưới trước kiểu CSS: Cho phép chỉ áp dụng một số kiểu nhất định cho IE6. Cách này tận dụng giới hạn của IE trong việc phân tích các ký tự đặc biệt.
- Dùng AlphaImageLoader để cung cấp độ trong suốt cho PNG: Hiển thị độ trong suốt của tệp PNG mà IE6 không hỗ trợ. Hình ảnh được xử lý thông qua bộ lọc.
- Chú thích có điều kiện: Cho phép chỉ dùng một số mẹo nhất định trên các phiên bản IE cụ thể. Nó hack chức năng chú thích HTML để có thể thực thi mã.
- Scalable Inman Flash Replacement (sIFR): Cho phép sử dụng các phông chữ không thuộc nhóm web-safe. Nó dùng một kiểu hack JavaScript để thay thế văn bản bằng phần nhúng Flash.
- Hack văn bản preheader: Ngăn văn bản bổ sung trong email tràn vào dòng mô tả. Nó sử dụng các chuỗi ký tự khoảng trắng không chuẩn hoặc bất thường.
- Google Chrome Frame: Thay thế IE6 bằng một cửa sổ Chrome. Nó được triển khai thông qua plugin trình duyệt.
- Hack bộ chọn chỉ dành cho Webkit: Chỉ áp dụng mã CSS cho các trình duyệt Webkit. Nó phát hiện xem một trình duyệt cụ thể có hỗ trợ một đoạn mã CSS cụ thể hay không.
- Thiết kế đáp ứng: Sắp xếp thông tin hiệu quả trong nhiều thiết lập khác nhau, đặc biệt là trên máy tính bảng và di động. Trong đa số trường hợp, nó dùng media query để bố trí thông tin theo từng thiết bị.
Ý kiến của GN⁺
- Điều quan trọng nhất là nỗ lực của các nhà phát triển trong việc tìm ra những giải pháp sáng tạo vượt ra ngoài tiêu chuẩn của HTML và CSS.
- Bài viết này thú vị và cuốn hút vì cho thấy các lập trình viên web đã dùng những kiểu hack sáng tạo như thế nào để vượt qua giới hạn của trình duyệt và cải thiện trải nghiệm người dùng.
- Những kiểu hack này phản ánh sự phát triển của các tiêu chuẩn web và nỗ lực không ngừng của các nhà phát triển nhằm tạo ra thiết kế web tốt hơn.
1 bình luận
Ý kiến trên Hacker News
Có thể hiểu được việc dùng bảng làm bố cục.
Không hề có sự tôn trọng nào dành cho spacer.gif.
Những kỹ thuật tôi thích nhất:
HN đến nay vẫn dùng một trong những kỹ thuật này:
Không nhắc đến việc đặt tiêu đề phục vụ khả năng truy cập ở vị trí -10000 để nó không hiển thị trên màn hình.
Không có nhắc đến việc cài HTML5 shiv trước CSS để loại bỏ các điểm kỳ quặc của mọi trình duyệt.
Tôi nhớ những ngày xưa tốt đẹp khi dùng gif 1×1 pixel trong suốt để điều khiển các ô của bảng.
Bổ sung thêm về
, tức thực thể ký tự khoảng trắng không ngắt dòng, vốn được dùng rộng rãi trong giai đoạn đầu:Đôi khi tôi không phân biệt được là các lập trình viên web hiện đại trở nên được nuông chiều nhờ CSS Grid và sự cáo chung của IE, hay là chúng tôi ngày đó mới là những người được nuông chiều vì không phải xử lý các framework hiện đại phức tạp và quy trình build.
Băn khoăn liệu responsive design có thực sự là một kiểu hack hay không: