Перевод статьи «Responsive Web Design: What It Is And How To Use It»
Адаптивная верстка меняет дизайн страницы в зависимости от поведения пользователя, платформы, размера экрана и ориентации девайса и является неотъемлемой частью современной веб-разработки. Она позволяет существенно экономить и не отрисовывать новый дизайн для каждого разрешения, а менять размеры и расположение отдельных элементов.
В этой статье будут рассмотрены основные элементы сайта и способы их адаптации.
Регулировка разрешения экрана
В принципе, можно разбить устройства на разные категории и верстать для каждой из них отдельно, но это займет слишком много времени, да и кто знает, какие стандарты будут через пять лет? Тем более, согласно статистике мы имеем целый спектр разнообразных разрешений:
Становится очевидно, что мы не сможем продолжать верстать для каждого устройства отдельно. Но что тогда делать?
Частичное решение: делаем все гибким
Конечно, это не идеальный способ, но он устраняет большую часть проблем.
Итан Маркотт (Ethan Marcotte) создал простой шаблон, демонстрирующий использование гибкой верстки:
Весь дизайн — микс адаптивных слоев, картинок и, в некоторых местах, умной разметки. Создание адаптивных слоев — частая практика, чего нельзя сказать об адаптивных картинках. Однако если они вам нужны, обратите внимание на следующие техники:
- Hiding and Revealing Portions of Images;
- Creating Sliding Composite Images;
- Foreground Images That Scale With the Layout.
Для более детальной информации рекомендуем ознакомиться с книгой Зои Микли Джилленуотер (Zoe Mickley Gillenwater) «Flexible Web Design: Creating Liquid Layouts with CSS» и загрузить главу «Creating Flexible Images».
Backend-разработчик (Laravel)
WHITE RUSSIAN, Москва, от 180 000 до 250 000 ₽
tproger.ru
Вакансии на tproger.ru
На первый взгляд может показаться, что все легко, но это не так. Взгляните на логотип:
Если уменьшить изображение целиком, надписи станут нечитаемыми. Поэтому, чтобы сохранить логотип, картинка поделена на две части: первая часть (иллюстрация) используется как фон, вторая (логотип) изменяет свои размеры пропорционально.
Элемент h1 содержит изображение в качестве фона, а картинка выровнена относительно фона контейнера (заголовка).
Гибкие изображения
Работа с картинками — одна из самых главных проблем при работе с адаптивным дизайном. Существует много способов для изменения размера изображений, и большинство из них довольно просто реализовать. Одно из решений — использование max-width в CSS:
img {max-width: 100%;}
Максимальная ширина изображения равняется 100% от ширины экрана или окна браузера, поэтому чем меньше ширина, тем меньше картинка. Обратите внимание, что max-width не поддерживается в IE, поэтому используйте width: 100%.
Представленный способ является неплохим вариантом создания адаптивных изображений, но, изменив только размер, мы оставим вес картинки прежним, из-за чего время загрузки на мобильных устройствах увеличится.
Еще один способ: отзывчивые изображения
Техника, представленная Filament Group, не только изменяет размер изображений, но и сжимает разрешение картинок на маленьких экранах, чтобы ускорить загрузку.
Для использования данной техники требуется несколько файлов, доступных на Github. Сначала берем JavaScript-файл (rwd-images.js), файл .htaccess и rwd.gif (файл изображения). Потом используем немного HTML, чтобы связать большие и маленькие разрешения: сначала маленькое изображение с префиксом .r (чтобы показать, что картинка должна быть адаптивной), потом ссылка на большое изображение с помощью data-fullsrc:
Для любого экрана шире 480 px загрузится изображение с большим разрешением (largeRes.jpg
), а на маленьких экранах загрузится (
smallRes.jpg
).
Интересная фича для iPhone
В iPhone и iPod Touch есть особенность: дизайн, созданный для больших экранов, просто сожмется в браузере с маленьким разрешением без скролла или дополнительной мобильной верстки. Однако изображений и текста не будет видно:
Для решения данной проблемы используется тег meta:
Если initial-scale равно единице, ширина картинок становится равной ширине экрана.
Настраиваемая структура макета страницы
Для значительных изменений размера страницы может понадобиться изменить расположение элементов в целом. Это удобно делать через отдельный файл со стилями или, что более эффективно, через CSS-медиазапрос. Проблем возникнуть не должно, т. к. большинство стилей останутся прежними, и изменятся только некоторые.
Например, у вас есть главный файл со стилями, который задает #wrapper, #content, #sidebar, #nav вместе с цветами, фоном и шрифтами. Если ваши главные стили делают макет слишком узким, коротким, широким или высоким, вы можете это определить и подключить новые стили.
style.css (основной):
/* Основные стили, которые будут унаследованы дочерней таблицей стилей */ html,body{ background… font… color… } h1,h2,h3{} p, blockquote, pre, code, ol, ul{} /* Структурные элементы */ #wrapper{ width: 80%; margin: 0 auto; background: #fff; padding: 20px; } #content{ width: 54%; float: left; margin-right: 3%; } #sidebar-left{ width: 20%; float: left; margin-right: 3%; } #sidebar-right{ width: 20%; float: left; }
mobile.css (дочерний):
#wrapper{ width: 90%; } #content{ width: 100%; } #sidebar-left{ width: 100%; clear: both; /* Дополнительные стили для нового дизайна */ border-top: 1px solid #ccc; margin-top: 20px; } #sidebar-right{ width: 100%; clear: both; /* Additional styling for our new layout */ border-top: 1px solid #ccc; margin-top: 20px; }
На широком экране левая и правая боковые панели хорошо помещаются сбоку. На более узких экранах эти блоки расположены один под другим для большего удобства.
Медиазапросы CSS3
Рассмотрим, как можно использовать CSS3-медиазапросы для создания адаптивного дизайна. min-width задает минимальную ширину окна браузера или экрана, к которой будут применены определенные стили. Если какое-нибудь значение будет ниже min-width, то стили будут проигнорированы. max-width делает противоположное.
Пример:
@media screen and (min-width: 600px) { .hereIsMyClass { width: 30%; float: right; } }
Медиазапрос заработает только когда min-width будет больше или равна 600 px.
@media screen and (max-width: 600px) { .aClassforSmallScreens { clear: both; font-size: 1.3em; } }
В этом случае класс (aClassforSmallscreens) будет работать при ширине экрана меньше или равной 600 px.
В то время как min-width и max-width могут быть применимы и к ширине экрана, и к ширине окна браузера, нам может понадобиться работать только с шириной устройства. Например, чтобы игнорировать браузеры, открытые в маленьком окне. Для этого можно использовать min-device-width и max-device-width:
@media screen and (max-device-width: 480px) { .classForiPhoneDisplay { font-size: 1.2em; } } @media screen and (min-device-width: 768px) { .minimumiPadWidth { clear: both; margin-bottom: 2px solid #ccc; } }
Специально для iPad у медиазапросов есть свойство orientation, значениями которого могут быть либо landscape (горизонтальный), либо portrait (вертикальный):
@media screen and (orientation: landscape) { .iPadLandscape { width: 30%; float: right; } } @media screen and (orientation: portrait) { .iPadPortrait { clear: both; } }
Также значения медиазапросов можно комбинировать:
@media screen and (min-width: 800px) and (max-width: 1200px) { .classForaMediumScreen { background: #cc0000; width: 30%; float: right; } }
Этот код будет выполнен только для экранов или окон браузеров шириной от 800 до 1200 px.
Загрузить определенный лист со стилями для разных значений медиазапросов можно так:
JavaScript
Если ваш браузер не поддерживает CSS3-медиазапросы, то замену стилей можно организовать с помощью jQuery:
$(document).ready(function(){ $(window).bind(«resize», resizeWindow); function resizeWindow(e){ var newWindowWidth = $(window).width(); // Если ширина меньше 600 px, используется таблица стилей для мобильного if(newWindowWidth
< 600){ $(«link[rel=stylesheet]»).attr({href : «mobile.css»}); } else if(newWindowWidth > 600){ // Если ширина больше 600 px, используется таблица стилей для десктопа $(«link[rel=stylesheet]»).attr({href : «style.css»}); } } });
Опциональное отображение контента
Возможность сжимать и менять местами элементы, чтобы они уместились на маленьких экранах, — это замечательно. Но это не лучший вариант. Для мобильных устройств обычно используется более широкий набор изменений: упрощенная навигация, более сфокусированный контент, списки или строки вместо колонок.
К счастью, CSS дает нам возможность показывать и прятать контент с неимоверной легкостью.
display: none;
display: none используется для объектов, которые нужно спрятать.
Пример:
Вот наша разметка:
Left Sidebar Content | Right Sidebar Content
Как сделать сайт адаптивным на все экраны?
Чтобы сделать сайт адаптивным на мобильное или стационарное устройство, нужно иметь представление о HTML5, CSS3 и JavaScript. Кроме общих знаний, требуется понимать основные принципы адаптивности.
Только с ними можно начинать делать верстку сайта:
- Поточность — принцип отсутствия смещения информационных блоков во время просмотра сайта с мобильного устройства.
- Относительность в измерении — принцип использования относительных единиц для установки размеров и координат верхней и нижней границы блока экрана ПК и дисплея смартфона.
- Применение контрольных точек — принцип расположения элементов для разных экранов во избежание сдвига содержимого страниц сайта.
- Принцип грамотного использования минимальных и максимальных значений. К примеру, если экран имеет ширину меньше 1000 пикселей, то контент размещают на весь экран. Иначе максимум ширина будет достигать 1000 пикселей.
- Принцип вложенности объектов для предотвращения сложностей контроля за разными элементами сайта. Можно вложить их в один контейнер. Требуется для тех блоков, которые не нужно адаптировать под экран — кнопки с логотипами и др.
- Использование одинаковых шрифтов во избежание перегрузки сайта.
- Правильное применение растровой с векторной графикой. К примеру, если картинка состоит из множества деталей, следует делать ее в растровом формате и, наоборот, если она одна, то лучше использовать векторный формат. Однако стоит помнить о сжатии. Каждая картинка должна быть оптимизирована под новые браузеры.
- Соблюдение макетных размеров и общих стандартов верстки сайта. Стандартными принято считать следующие разрешения, при которых не происходит смена дизайна и неправильное отображение сайта:
- для мобильных устройств – 320px, 480 px;
- для планшетных компьютеров – 768px;
- для нетбуков с некоторыми планшетами – 1024px;
- для ПК – 1280px и больше.
Видео инструкция: Как сделать адаптивный сайт в фотошопе.
Мобильная версия сайта или адаптивность? В чем разница? Преимущества и недостатки.
Для понимания отличий между данными терминами, давайте выясним, в чем между ними разница.
Мобильная версия сайта – отдельная версия сайта, созданная и имеющая ориентир специально на пользователей со смартфонами или планшетами. Как правило, отличается от версии для ПК урезанным функционалом для более быстрой загрузки с сохранением всех основных блоков сайта. Чаще всего располагают на поддоменах типа m.name.ru, mobile.name.com. Пример можете увидеть, зайдя через мобильное устройство в социальную сеть «Вконтакте» (*!не приложение, а именно через мобильный браузер!*).
Преимущества:
- легкое изменение контентной части и кода, так как мобильная версия в 95% случаев не связана с основной частью;
- скорость загрузки, благодаря меньшему весу тех же фотографий и того же функционала;
- удобство пользования юзером, возникающее из перечисленных выше преимуществ;
- возможность представления информационных сайтов типа новостного портала без переделки кода и структуры сайта. Особенно актуально на тех сайтах, которые уже давно существуют и технологии могут не позволить реализовать адаптивность;
- возможность выбора. Решение автоматического перехода сайта системой на мобильную версию определяется с помощью MAC-адреса устройства и с помощью IP-адреса. Если пользователю потребовался функционал десктопной версии, то, как правило, он может на нее переключиться, перейдя на основную (полную) версию сайта.
Недостатки:
- относительный недостаток, относящийся к поведенческому фактору – наличие нескольких адресов для разных версий (планшет, моблиьные устройства, ПК-версия). Кому-то это все равно, а некоторым людям может не понравиться, что при переключении с ПК-версии на мобильную придется по новой ждать, когда произойдет загрузка страницы;
- некоторые сложности для SEO-продвижения, так как при неправильной настройке связки мобильной и полной версии сайта, система поиска может начать ругаться на дублирование информации, что заметно снизит позиции сайта в органической выдаче.
- ограниченность. Если повторить функционал и контент полной версии, то будет долго грузится и отразится на недовольстве пользователя слишким долгим временем ожидания. Если сделать информационную часть минимальной, то скорость загрузки будет высокая, а пользователь может не понять многие моменты из-за недостатка информации. Идеальное решение в данном случае – разумное и оптимальное сочетание и компромисс между скоростью загрузки и выводимой информацией.
Пустынный, полупустынный, степной адаптивный тип
Пустынный, полупустынный, степной адаптивный тип формируется в условиях жаркого, сухого, резко континентального климата с интенсивным солнечным излучением. Для этого типа характерны усиленное выделение тепла, хорошо развитые потовые железы, обильное потребление воды. Большинство населения Центральной Азии относится к данному адаптивному типу.
Категории: Экология человека Адаптация
На этой странице материал по темам:
Пустынная географическая группа людей
Тропическая группа людей
Жители каких стран относятся к горному адаптивному типу
Gecnyssq nbg xtkjdtrf
Вычокогорнфй тип людей
Вопросы к этой статье:
Что такое адаптивные типы человека?
Проверка адаптивности сайта
Чтобы проверить настройку адаптивности сайта и его правильного отображения на всех устройствах, можно воспользоваться браузером или специальным сервисом Google Mobile Friendly (Google Search Console).
Браузером Google проверку можно сделать, зажав F12 и выбрав в меню «Дополнительные инструменты» и «Инструменты разработчика». Через Mozilla Firefox сделать это можно также: F12 -> Меню -> Разработка -> Адаптивный дизайн.
Через сервис Google можно проверить адаптивность по ссылке https://search.google.com/test/mobile-friendly.
В целом, сделать адаптивным сайт несложно. Главное – понимать принципы адаптивности и уметь правильно выставлять базовые интернет-настройки для ее создания.
Арктический адаптивный тип
Арктический адаптивный тип формируется в условиях холодного климата, где в питании преобладают продукты животного происхождения. В пищеварительной системе народов Арктики развиты приспособления, связанные с недостаточным потреблением витамина C в составе растений. Характерными признаками арктического адаптивного типа являются хорошо развитая костно-мышечная система и более высокое содержание белков и жиров в крови. Более высокий уровень обмена энергии и развитие способности к терморегуляции также характерны для арктического типа.