Функція media
запиту CSS3 призвела до багатьох цікавих можливостей щодо розробки веб-сайтів, які підлаштовуються під різні розміри екрану та пристрої.
Однак на практиці я починаю розуміти, що media
функція запиту CSS3 та весь рух "Чуйний веб-дизайн" можуть не виконати своїх обіцянок.
Проблема, яку я бачу, полягає в тому, що наприкінці дня веб-розробники дбають про те, чи переглядають їх користувачі вміст через настільний, планшетний або мобільний пристрій. Але CSS3 забезпечує лише спосіб виявлення роздільної здатності екрана . Теоретично виявлення роздільної здатності екрану здається чудовим способом налаштування для різних різних пристроїв. Але на практиці ...
Припустимо, у нас є проста функція Javascript, яка просто видає ширину екрана:
function foo()
{
alert(screen.width);
}
На моєму Blackberry Touch це виводить:
768
У моєму Samsung Galaxy це:
800
Отже ... гм, на даний момент дозвіл основних смартфонів наближається до роздільної здатності настільних ПК. Можливість виявити, чи користувач переглядає ваш веб-сайт за допомогою смартфона, планшета чи настільного ПК, здається, все складніше, якщо все, що ви збираєтеся, - це роздільна здатність екрана.
Це змушує поставити під сумнів всю мудрість, що стоїть за цілим рухом CSS3 "Чуйний веб-дизайн" на основі медіа-запитів. Майже здається, що media
функція запиту краще підходить для адаптації до розміру вікна браузера на екрані робочого столу, а не для різних мобільних пристроїв.
Ще одна можлива методика виявлення мобільних або планшетних пристроїв - використання функції виявлення, перевіряючи, чи підтримується ontouchstart
подія. Але навіть це стає все більш ненадійним, оскільки багато екрани робочого столу починають підтримувати дотик.
Питання: Отже ... якщо веб-розробник, якщо я не можу покластися на RWD або виявлення функцій, чи нюхає агент-користувач (настільки сумно ненадійний, як завжди), справді найкращий варіант виявлення мобільних пристроїв?
device-width
дуже погана підтримка?