Css3, мобільні інтерфейси

Якщо ви коли-небудь працювали в Інтернеті більш-менш тривалий час з мобільного пристрою, то, без сумніву, виявили, що крихітний екранчик (яким би великим він не був для мобільного пристрою) - не найкращий вікно в Інтернет.

Знову ж таки, створення окремих версій сайту для кожного типу мобільного пристрою не є єдиним способом вирішення проблеми різних мобільних пристроїв. Інший підхід - розробити код веб-сервера, який досліджує кожний запит, обчислює, який браузер подав цей запит, і відправляє вміст відповідного формату. Таке рішення, безумовно, чудово, але тільки якщо у вас є час і необхідні навички.

Але було б чудово мати простий механізм, який би підбудовував стилі вашої веб-сторінки під різні типи пристроїв, не вимагаючи для цього ні інфраструктури веб-додатки, ні серверного коду.

Запити про можливості відображення

Принцип роботи запитів про можливості заснований на отриманні ключової інформації про пристрій, на якому проглядається веб-сторінка, такий як, наприклад, розмір екрану, його роздільна здатність, можливості відтворення кольорів і т.п. На основі цих відомостей можна застосовувати різні стилі форматування або навіть підключати абсолютно інші таблиці стилів. Результати роботи запитів про можливості показані на малюнках нижче:

Css3, мобільні інтерфейси

Css3, мобільні інтерфейси

Досить цікаво, творці CSS намагалися вирішити проблему різних типів пристроїв відтворення в CSS 2.2 за допомогою типів носіїв (media types). Ви, можливо, вже користуєтеся цим стандартом, щоб надавати різні таблиці стилів для виведення вмісту на різні пристрої, як показано в наступному коді:

Атрибут media також приймає значення handheld, призначене для мобільних пристроїв з екраном невеликого розміру і низькошвидкісних підключенням. Більшість мобільних пристроїв намагаються звертати увагу на атрибут media і використовувати таблицю стилів handheld, якщо така є. Але цей підхід рясніє різними огріхами, і можливості атрибута media вельми обмежені для роботи з широким діапазоном пристроїв, підключених до Інтернету в даний час.

Щоб використовувати запити про можливості, найлегше почати зі стандартною версією веб-сайту, а потім заміщати певні частини розмітки. У прикладі на малюнку вище вміст сторінки розбите на два блоки:

А таблиця стилів починається з двох правил, по одному для кожного блоку:

Ці правила реалізують стандартну двухстолбцовую компоновку сторінки, де колонка фіксованої ширини в 330 пікселів розташовується зліва, а плаваюча бічна панель займає все залишився праворуч.

Фокус полягає у визначенні окремої частини таблиці стилів, яка активується для певного значення запиту про можливості. Синтаксис цього визначення наступний:

В даному прикладі цей новий набір стилів активується, коли ширина вікна браузера стає 480 пікселів або менше. Це означає, що в нашій таблиці стилів нам потрібно розділ, який виглядає так:

В даний час найпопулярнішими властивостями запитів про можливості є max-device-width (для створення мобільних версій веб-сторінок), max-width (для застосування різних стилів залежно від поточного розміру вікна браузера) і orientation (для зміни компонування сторінки, в залежно від розташування пристрою - горизонтального або вертикального).

Хоча всередині блоку запиту про можливості можна вставити все, що завгодно, в цьому прикладі просто додаються нові правила таблиці стилів для елементів

І