4.09.13, 20:25
1 комментарий
  Графика/PSD

Разрабатываем адаптивные дизайны по стандартам при помощи @viewport

Один из ключевых концептов в любом адаптивном дизайне – это изменение размера окна просмотра. Это так потому, что размеры экранов мобильных устройств значительно отличаются от экранов настольных ПК. Для управления размером окна просмотра, мы обычно используем мета-тег viewport.

Тем не менее, мета-тег viewport, как и множество других новых свойств, которые не поддерживаются в некоторых браузерах, не проходят проверку на соответствие стандартам W3C. Изначально этот мета-тег был представлен Apple в Safari, и с того момента был реализован почти во всех других браузерах. В результате мы получаем несоответствующее отображение в разных браузерах.

К счастью, совсем недавно W3C пришли к нам на помощь, и ввели новое CSS-правило @viewport.

Разрабатываем адаптивные дизайны по стандартам при помощи @viewport




Былые времена

Используя старый подход к указанию мета-тега, мы указывали браузеру, в каком размере окна браузера следует отображать контент, следующим образом:

<meta name='viewport' content='width=device-width'>


CSS-правило

Совершенно не зависимо от того, валиден ли мета-тег viewport, он представляет собой не данные, а всего лишь их представление. Так что, придерживаясь принципов разделения наших данных и их представления, viewport должен быть указан в CSS, а не в HTML.

W3C-решение в CSS выглядит следующим образом:

@viewport {
    width: device-width;
}


С другой стороны, вы можете указать viewport цифрой, следующим образом:

@viewport {
    width: 640px;
}


Вы можете использовать правило @viewport в сопровождении @media queries, чтобы любое окно просмотра больше 960 пикселей, уменьшалось до 960px:

@media screen and (min-width: 960px){
    @viewport {
        width: 960px;
    }
}


Дополнительные свойства

Правило @viewport также позволяет нам масштабировать страницу по умолчанию, и даже выставлять максимальный порог увеличения:

@viewport {
    width: 960px;
    zoom: 1;
    max-zoom: 3;
}


Также есть возможность полностью запретить масштабирование, установив свойство user-zoom на fixed. Тем не менее, масштабирование, особенно на смартфонах, необходимо для удобства использования, и мы бы не рекомендовали вам использовать это свойство.

Еще одно удобное свойство позволяет нам зафиксировать веб-страницу в пейзажной ориентации или в портретной:

@viewport {
    orientation: landscape;
}


Браузерная поддержка

Здесь начинаются плохие новости: на данный момент это правило поддерживается только в IE10 и Opera, и требует приставок –ms- и –o- соответственно.

Но несмотря на это, нужно учесть тот факт, что уже есть браузеры, которые поддерживают функционал viewport, а значит, и остальные скоро до этого дойдут.

Заботитесь ли вы о том, чтобы коды соответствовал стандартам? Помогает ли вам W3C лучше влиться в процесс разработки? Пожалуйста, расскажите нам в комментариях.шаблоны для dle 11.2

Комментарии

  1. NorDULaN Пользователь offline 26 сентября 2013 16:03                    

    Помогает.. :D

Напишите своё мнение