CSS3 media
Tính năng truy vấn đã dẫn đến nhiều khả năng thú vị về mặt phát triển trang web điều chỉnh theo nhiều kích thước màn hình và thiết bị khác nhau.
Tuy nhiên, trong thực tế, tôi bắt đầu hiểu rằng CSS3 media
tính năng truy vấn và toàn bộ phong trào "Thiết kế web đáp ứng" có thể không tuân theo lời hứa của nó.
Vấn đề tôi thấy là vào cuối ngày, các nhà phát triển web quan tâm chủ yếu đến việc người dùng của họ có đang xem nội dung qua Máy tính để bàn, Máy tính bảng hoặc Thiết bị di động hay không. Nhưng CSS3 chỉ cung cấp một phương tiện để phát hiện độ phân giải màn hình . Về lý thuyết, phát hiện độ phân giải màn hình có vẻ như là một cách tuyệt vời để điều chỉnh cho các thiết bị khác nhau. Nhưng trong thực tế ...
Giả sử chúng ta có một chức năng Javascript đơn giản chỉ xuất ra chiều rộng màn hình:
function foo()
{
alert(screen.width);
}
Trên Blackberry Touch của tôi, kết quả này xuất ra:
768
Trên Samsung Galaxy của tôi, kết quả này:
800
Vì vậy, ... tại thời điểm này, độ phân giải của điện thoại thông minh chính thống đang trở nên khá gần với độ phân giải ở cấp độ Máy tính để bàn. Khả năng phát hiện xem người dùng có đang xem trang web của bạn thông qua điện thoại thông minh, máy tính bảng hoặc máy tính để bàn hay không, dường như ngày càng khó khăn hơn nếu tất cả những gì bạn đang làm là độ phân giải màn hình.
Điều này khiến tôi đặt câu hỏi về toàn bộ sự khôn ngoan đằng sau toàn bộ phong trào "Thiết kế web đáp ứng" CSS3 dựa trên các truy vấn phương tiện. Có vẻ như media
tính năng truy vấn phù hợp hơn với việc thích ứng với cửa sổ trình duyệt thay đổi kích thước trên màn hình Desktop, thay vì các thiết bị di động khác nhau.
Một kỹ thuật khả thi khác để phát hiện thiết bị di động hoặc máy tính bảng là sử dụng tính năng phát hiện tính năng, bằng cách kiểm tra xem ontouchstart
sự kiện có được hỗ trợ hay không. Nhưng ngay cả điều này đang trở nên không đáng tin cậy khi nhiều màn hình Desktop bắt đầu hỗ trợ cảm ứng.
Câu hỏi: Vì vậy, ... là một nhà phát triển web, nếu tôi không thể dựa vào RWD hoặc phát hiện tính năng, thì việc đánh hơi tác nhân người dùng (có phải là không đáng tin cậy như mọi khi) thực sự là lựa chọn tốt nhất để phát hiện thiết bị di động?
device-width
khá xấu?