Довольно часто люди не понимают разницы между шириной (width) и шириной устройства (device-width) (и, более того, есть примеры с минимальной (min-device-width) и максимальной шириной устройства (max-device-width)), используя медиазапросы CSS. Это недопонимание приводит к написанию плохого кода и значительно большему количеству работы для разработчика.

Этот вопрос очень часто встречается на форумах SitePoint, поэтому пришло время объяснить все подробнее. В этой статье будет затронута эта проблема, а также мы более подробно рассмотрим, какой вариант следует использовать, создавая отзывчивые сайты. 

Основные определения

Давайте определимся, что мы имеем ввиду, когда говорим о медиазапросах, основанных на «ширине» и «ширине устройства». Нижеприведенные цитаты взяты из статьи MDN о медиазапросах, и там есть такое определение «ширины»:

Свойство среды «ширина» (width) описывает ширину отображаемой поверхности устройства вывода (например, ширину окна документа или ширину окна страницы на принтере)

А вот так MDN определяют «ширину устройства»:

Описывает ширину устройства вывода (означая полный экран или страницу, а не только область отображения, такую как окно документа)

Так что же это на самом деле значит? Простыми словами, «ширина» и «ширина устройства» относятся к ширине устройства, а не всей ширине области просмотра, которая может быть абсолютно другим понятием. Все, что вас должно интересовать – это ширина области просмотра, вне зависимости от ширины устройства.

При этом основным различием между шириной и шириной устройства является то, что ширина устройства не всегда соответствует области просмотра определенного устройства. 

Большинство планшетов и мобильных устройств не всегда имеют 1 пиксель устройства на 1 пиксель CSS. Например, вам стоит знать, что у iPhone 4 стандартная область обзора экрана составляет 640×960. Это означает, что на данном примере device-width iPhone4 равна 320×480. Дело в том, что Apple понимают, что не каждый сайт создан отзывчивым и пытается сделать хорошо всем, предоставив ширину около 980px для отображения десктопного варианта сайта. Это значит, что если нет метатега области обзора, iPhone4 берет сайт и отображает его, как если бы он был 980px в ширину, при этом втискивая его в экран шириной 320px, в результате чего с точки зрения пользователя сайт будет отображаться уменьшенным. 

Начинаем

Для начала, как и во всех случаях превращения сайтов в отзывчивые и использования медиазапросов, тег области обзора meta необходимо поместить в раздел вашего сайта. Базовая стандартная версия приведена ниже.

<meta name="viewport" content="width=device-width,initial-scale=1">  

Как только на нашей странице появится этот сниппет, если мы будем просматривать страницу на разных устройствах, будут срабатывать разные медиазапросы.

Без этого, при просмотре страницы на определенном устройстве, она будет отображаться просто как уменьшенная версия страницы; устройство будет пытаться вжать целый сайт в экран шириной 320px. И это не есть хорошо ни для вас, ни для ваших пользователей! Пользователи не любят увеличивать сайт, чтобы увидеть контент, и они точно не хотят скроллить его туда-сюда. 

  • Например, давайте возьмем iPhone 4, у которого стандартная ширина области просмотра 980px.
  • Без тега meta ваши попытки использовать медиазапросы не приведут ни к чему, и устройство будет неправильно обращаться к стандартной области просмотра.
  • Большинство медиазапросов рассчитано на 500px или меньше.
  • Это обычно выполняется с помощью простого медиазапроса max-width.
  • Без тега meta вы не получите эффекта от этого запроса, так как iPhone 4 будет продолжать отображать версию сайта шириной 980px.

Давайте рассмотрим приведенный ниже пример:

body {    background: white;      }     @media screen and (min-width: 980px) /* Desktop */ {    body {      background: red;    }  }     @media screen  and (max-width: 979px) /* Tablet */ {    body {      background: blue;    }  }     @media screen and (max-width: 500px) /* Mobile */ {    body {      background: green;    }  }  

В этом случае метатег на месте и iOS корректно отображает страницу такой, какой мы хотим: она основана на ширине 320px и позволяет нашим медиазапросам работать таким образом, как мы ожидаем. 

Почему следует выбирать device-width?

Честно говоря, заголовок этой статьи изначально подразумевает неиспользование device-width. Однако для device-width есть свое место. Если вы делаете сайт для определенных устройств, тогда да – вам следует использовать device-width.

С точки зрения CSS и RWD, хороший сайт – это тот, который на самом деле «агностичен к устройству» и не пытается потакать ширине каждого отдельного девайса.

Таргетинг на отдельные контрольные точки для различных «типов» устройств (например, планшетов или мобильных телефонов) достигается путем фокусирования на то, как контент отображается на определенной ширине области просмотра, а потом путем внесения соответствующих изменений в медиазапросы. Поэтому не устройство диктует контрольные точки, а макет и контент, и в конечном итоге это может привести к оптимальным результатам, как с вашей точки зрения, так и с точки зрения пользователей. 

Это может и быть той причиной, почему у стольких людей проблемы с созданием отзывчивого дизайна, и почему они жалуются, что это сложно. Но если они пытаются создавать дизайн под отдельные устройства, они ввязываются в заведомо проигрышную битву: количество устройств, которые необходимо учитывать (чтобы охватить всё), слишком огромное и просто сводит все к плохому коду.

Также стоит упомянуть, что если вы решили использовать device-width, вы также должны задавать отдельные правила для ориентации (книжная или альбомная): ширина устройства не изменяется только из-за того, что вы повернули устройство на бок. Для этого нужно еще больше кода, а это означает еще больше головной боли.

Однако давайте посмотрим на другой возможный вариант

Что насчет “width”?

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

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

Все что вам нужно для полностью отзывчивой страницы – это гибкий сайт и немного продуманных медиазапросов для таргетирования на стандартный ряд мобильных устройств, планшетов, компьютеров + области просмотра. Я предпочитаю использовать Foundation’s Media Queries, которые являются наиболее точными и охватывают все необходимые области просмотра. 

Конечно, как и все в разработке, использование только запросов на основе ширины не является решением всех проблем с макетом. Это скорее необходимо для тестирования на мобильных устройствах в поисках различных багов и странностей отображения. Но, имея возможность видеть, как все будет отображаться на различных мобильных устройствах – это так же просто, как изменять размер окна вашего браузера. 

Для тестирования я использую расширение для Chrome Responsive Web Design Tester. Оно позволяет выбирать определенное устройство. Вы увидите размер устройства и то, как ваша страница будет отображаться на таком устройстве. 

Еще одно небольшое преимущество, которое хотелось бы упомянуть, это что использование запросов на базе ширины гарантирует, что будущие устройства будут отображать сайт полноценно. Это довольно перспективный подход, так как вы ориентируетесь на что-то более глобальное – общий размер области просмотра – а не на определенное устройство. 

В заключение

Вы все еще планируете использовать device-width в медиазапросах?

Приведенные аргументы оказались недостаточно убедительными? Использование обычной «ширины» и области просмотра устройства упрощает отзывчивый дизайн и в конечном итоге является лучшим вариантом, который следует использовать практически всегда.

Чтобы добавить сайт в Гугл, вам просто нужно зайти на сервис Гугл вебмастер, зарегистрироваться в нем, ввести свои данные и данные сайта и начать работать. В правом верхнем углу будет вкладка, добавить сайт нажимаете ее и вводите адрес своего сайта. После этого сервис потребует подтвердить права доступа на данный сайт и запросит у вас либо разместить файл в корневом каталоге вашего сайта или же вам просто придется ввести нужный код в нужное поле.

 

После того как Гугл подтвердит ваш сайт, то добавить сайт в Гугл, уже можно считать оконченным и через 3-4 дня ваши публикации на сайте начнут индексироваться в течение суток, в зависимости от обновления вашего ресурса.

Многие спрашивают, как добавить сайт в Гугл, что для этого нужно сделать, что нужно знать и уметь. Ведь на самом деле добавить свой сайт в поисковую систему Гугл достаточно просто, но все равно у многие возникают проблемы и вопросы в данной области создания и развития сайта. Когда ваш сайт попадет в Гугл, его начнут индексировать и сайт начнет приносить новых посетителей и доходы.

 

В статье вы узнаете, как можно добавить свой сайт, блог, форум или Интернет магазин в поисковую систему Гугл. Что для этого нужно делать, какие есть советы, методы и рекомендации, так как все гораздо проще, чем вы думаете и любой школьник, сможет разобраться, если будет применять наши рекомендации на практике.

 

Чтобы поиск ключевых слов, не показался вам бессмысленным, вам просто нужно зайти на данный сервис и в необходимое поле вводить по очереди каждое слово, которое вы выписали в процессе мозгового штурма. Сервис выдаст вам большое количество слов и выражений, связанных с вашим введенным словом. Выбирайте нужные ключевые фразы и выписывайте их в блокнот или в другую программу на своем компьютере или просто в тетрадь.

 

Вот и все что нужно знать про поиск ключевых слов, если у вас остались дополнительные вопросы, вы можете смело их задавать в комментариях ниже.

Чтобы поиск ключевых слов, помог вам найти нужные ключевые слова быстро и просто, вам нужно определить будущую тематику своего сайта. Возьмите лист бумаги и напишите 10 тематик, в которых вы хоть немного разбираетесь, из них выберите только одну тематику, в которой вы больше разбираетесь и самостоятельно сможете писать статьи и наполнять сайт. Так как незнание своей тематики, не позволит вам составить большой список ключевых слов и выражений.

Многие ищут поиск ключевых слов, чтобы составить свое семантическое ядро с нужными ключевыми запросами, чтобы поднять свою посещаемость сайта и соответственно увеличить доходы. Конечно, существует система, которая поможет вам бесплатно и самостоятельно подобрать нужные вам ключевые слова для своего сайта, блога.

 

В статье вы узнаете как поиск ключевых слов, может помочь вам и вашему сайту поднять посещаемость, сэкономить на продвижении много времени и денег и как вообще подбирать ключевые слова. Ведь сегодня только 10% всех сайтов составляли себе семантическое ядро самостоятельно, так как заказ ядра у специалистов обходиться дорого и не всегда эффективно.

Чтобы поднять, увеличить, повысить популярность сайта или блога бесплатно, вам нужны жирные ссылки на популярных блогах, чем популярнее сайт ссылается на ваш сайт, тем выше будет ваша популярность. Чтобы, к примеру, поднять ТиЦ сайта до 10 вам нужно 20 ссылок с 20 различных средних сайтов, но лучше 1 ссылку одного популярного сайта на ваш сайт и тогда Тиц станет 10.

 

Жирные ссылки можно найти где угодно, можно платно заказать ссылку на сайте, а можно, к примеру, поставить счетчики посещаемости с обратной ссылкой, например, участвуя в рейтингах сайтов. Чем выше будет посещаемость сайта, тем выше ваш сайт будет стоять в рейтинге жирных ссылок на сайтах.

Вот и все что вам нужно знать о том, как поднять, увеличить, повысить ТиЦ, PR (pagerank) и популярность сайта, блога бесплатно, какие есть способы для этого и как их применять на практике. Все что вам нужно, это начать действовать и продвигать свой сайт. А если возникнут проблемы или вопросы – обязательно пишите в комментариях ниже и мы вам поможем и ответим на ваши вопросы.

Также чтобы повысить PR (pagerank) сайта или блога, вам нужно проделать на своей сайте внутреннюю перелинковку. Например, статья: А, ссылается на статью В, а статься В, ссылается на статью С и так далее.

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

Чтобы повысить ТиЦ, сайта или блога до 10, вам нужно регистрироваться на различных форумах и чаще писать интересные вопросы или ответы. Название вашего имени, если подвести к нему мышку и кликнуть, вы попадете на свой сайт, который вводили в профиле.