Как создать адаптивный дизайн? — Хабр Q&A
Смысл адаптивного дизайна — в медиа-запросахПоскольку устройств десятки — писать для каждого класса адаптивный дизайн — это пустая работа, потому что стили будут в большинстве своем одинаковые.
В связи с этим придумали — колоночный дизайн, который заранее задает стили для т.н. колонок, которые выстраиваются в строку — если место есть, и в столбик, если места нет.
Это работает либо инлайн-блоками, либо флоатами.
Если инлайн-блоки — нужно родительскому элементу постоянно занулять размер шрифта. А в колонке возвращать его обратно. Плюсы — можно выровнять колонки по центру если нужно (редко нужно на самом деле, чаще создают второй контейнер с отступами).
Если флоатами — вешать на родительский элемент clearfix. Ну и разумеется выравнивание по центру САМИХ КОЛОНОК будет недоступно. Кроме того — работа с float: left; весьма специфична по наследованию максимальной высоты, например, когда вы хотите сделать форму для ввода в которой в одной колонке находится лейбл, а в другой поле, при этом форма должна выглядеть ровно — вы задаете строке min-height: 30px например, а потом попытка сеткой унаследовать этот min-height: сломает вашу сетку к чертям.
Короче, используйте inline-block;
Смысл сетки в целом вот такой: ты задаешь максимальное количество колонок в строке, а потом размер конкретной колонки относительно максимального для конкретного устройства. Все классы заранее прописываются в медиазапросах, проще всего для этого использовать какой-нибудь SASS или Stylus (главное чтобы были циклы)
>> БЭМ
.grid.grid_size_12
.grid_col.grid__col_size_2.grid__col_size_4mobile
Вышеуказанный код работает примерно так — по-умолчанию в строке помещается 12х, внутри находится колонка которая по умолчанию занимает 2/12 = 1/6 экрана, на мобильном 4/12 — 1/3 экрана по ширине.
Вы можете использовать для этого Бутстрап, но сломаете ногу о то, что бустрап очень любит создавать классы без префиксов, которые часто вы можете использовать в своих проектах — начнется ерунда, что класс уже обьявлен и «давай придумывай другое имя», плюс раньше бутстрап грешил переписыванием глобальных стилей для заголовков, кнопок, абзацев и тд., сейчас не знаю.
Напишите свою сетку, это не так сложно, а потом вы сможете задавать отступы колонкам примерно в таком виде
.grid {
display: block;
font-size: 0;
box-sizing: border-box;
min-height: inherit;
max-height: inherit;
height: 100%;
}
/* здесь не нужна вложенность, на класс будут навешиваться другие классы */
/* мы указываем "начинается с класса", чтобы каждый раз не писать .grid__col.grid__col_size_2 а просто писать grid__col2 например */
[class^="grid__col"] {
display: inline-block;
vertical-align: top;
font-size: 1rem; /* постоянно следите за этим размером шрифта, он еще не один раз напомнит о себе */
box-sizing: inherit;
height: 100%;
min-height: inherit;
max-height: inherit;
}
/* циклы */
.grid_col_size_12 .grid__col_size_12 {
width: 100%;
}
.grid_col_size_12 .grid__col_size_6 {
width: 50%;
}
/* и т.д. */
.grid_project_foo {
margin: 0 -8px -16px;
}
.grid_project_foo .grid__col {
padding: 0 8px;
margin-bottom: 16px;
}
Что обеспечит вам отступ между колонками в 16 пикселов по горизонтали без отступов крайних колонок, а также отступ после того как они соберутся в столбик по вертикали тоже 16 пикселов, не включая последнюю строку (она будет сожрана отрицательным маргином).
P.S.
Только что проверил колонки с float: left. Их ломает min-height — они перестают влазить по ширине, а если убрать min-height: — не будет работать выравнивание по высоте. А причина в том, что отрицательный маргин ломает все флоаты к чертям. Так что да, единственный нормальный вариант это inline-block.
Если вам нужно раскрасить колонки — используйте table, table-cell, которое на мобильных устройствах (после перестраивания в столбик) превратится в block, inline-block.
Адаптивный дизайн для сайта. Этапы разработки адаптивного дизайна
С ростом технического прогресса мы имеем все больше и больше возможностей выхода в интернет: теперь это не только стационарные компьютеры, но и разнообразные планшетные устройства, мобильные телефоны, смартфоны, ноутбуки, и даже телевизоры. Разрешение экрана таких устройств может варьироваться от 320 до 2560 пикселей, поэтому традиционный дизайн сайта с фиксированной шириной уходит далеко в прошлое. А на смену ему приходит адаптивный веб-дизайн, особенность которого и заключается в создании таких веб-страниц, которые должны удобно просматриваться с помощью любого устройства, предоставляющего выход в интернет. Таким образом, адаптивный дизайн избавляет разработчиков от необходимости создавать несколько версий веб-сайта для различных устройств, что крайне не эффективно.
Этапы разработки адаптивного дизайна сайта
С введением адаптивного дизайна сайта изменяются и этапы его разработки, требуя более плотной интеграции действий дизайнера и разработчика. Ниже приведен последовательный алгоритм создания адаптивного сайта с кратким описанием каждого этапа. Сразу следует сделать оговорку: идеальной стратегии не существует — она определяется в процессе взаимодействия индивидуально.
1 этап: Проектирование.
Здесь в первую очередь стоит собрать все необходимые данные о бизнесе клиента, его конкурентах и поставить основные цели проекта: что, зачем и кому. Далее можно начать создание прототипов интерфейса, учитывая тот факт, что сайт должен практично отображаться на небольших устройствах. Для этого критически оцениваются все элементы дизайна: насколько важен блок, можно ли от него отказаться, как он будет отображаться на конкретном устройстве и т.д. Здесь как нельзя, кстати, применимо правило Алана Купера «Независимо от того, насколько ваш интерфейс классный, чем его меньше, тем лучше»
2 этап: Построение модульной сетки.
Используя наработки первого этапа проектирования , создается модульная сетка будущего интерфейса сайта. Это необходимо для создания легко поддерживаемого и приятного дизайна. Здесь можно использовать специальный инструмент – генератор модульной сетки для адаптивного дизайна.
3 этап: Дизайн.
Только теперь настает очередь самого дизайна сайта. Используя определенные графические инструменты и готовые прототипы, производится расстановка блоков по модульной сетке. При этом лучше проконсультироваться с разработчиком о возможности того или иного варианта.
4 этап: Верстка.
Psd макеты дизайна передаются на верстку. Основными используемыми инструментами в разработке адаптивного сайта являются HTML5, CSS3 media queries и JavaScript. Основная суть заключается в написании различных стилей для каждого разрешения (диапазона значений).
5 этап: Тестирование.
Разработанная страница проходит тестирование на разных вариантах устройств, причем проводят оценку все участники команды со своей профессиональной точки зрения. Дизайнер смотрит на отступы, размер иконок, шрифты. Разработчик отвечает за загрузку, обилие css3 и оптимизацию стилей, корректность отображения. Проектировщик оценивает удобство использования сайта конкретным устройством, насколько легко найти интересующую информацию.
6 этап: Разработка.
Итогом всех перечисленных этапов является программирование или привязка сайта к CMS.
Таким образом, в результате плотного взаимодействия участников разработки мы получаем качественный адаптивный веб-дизайн сайта.
Вернуться назад
Статьи по теме:
50 инструментов для адаптивного дизайна
Адаптивный дизайн с каждым днем становится все более популярным. Такие сайты нацелены на широкую аудиторию, поскольку пользователи могут просматривать такие веб-сайты из различных устройств. Сегодня в этой подборке мы будем рассматривать полезные инструменты для создания адаптивных сайтов.
Style Tiles
Style Tiles — инструмент для создания красивых заголовков, который включает наборы различных шрифтов и стилей.
Responsive Web Design Sketch Sheets
Этот набор поможет вам в планировании изменений различных элементов разных размеров.
Responsive Wireframes
Готовые решения для создания адаптивных сайтов.
Multi-Device Layout Patterns
Статья о шаблонах компоновки.
Simple Device Diagram
Responsive Design with Mockups
Здесь вы найдете библиотеку шаблонов вместе с учебником о создании вайрфпеймов.
Инструменты для адаптивных изображений и текста
Responsive Images
Adaptive Images
Adaptive Images – PHP-скрипт, работающий на любом веб-сайте. Adaptive Images определяет размер экрана и подгоняет под него размер изображения, что в итоге дает малый размер изображения на малых экранах.
Seamless Responsive Photo Grid
Сетка из изображений, которую можно использовать как фоновое изображения и которая подстраивается под размеры экрана монитора.
FitText
Данный jQuery-плагин позволит вам изменять шрифт и быть при этом уверенным, что всё останется на своих местах, независимо от устройства или браузера. Таким образом можно достичь масштабируемых заголовков.
Retina Images
Этот инструмент поможет вам показать 2 бьольших изображения с высоком разрешением, оптимизированными под Retina в адаптивных веб-дизайнах.
Гибкие сетки и медиа-запросы
Variable Grid System
Бесплатный генератор адаптивной css-сетки
Responsive Calculator
С помощью этого калькулятора вы можете легко превратить ваш psd исходник в натуральный шаблон.
Gridpak
С помощью gridpak можно в несколько кликов сгенерировать модульную сетку и CSS-фреймворк для адаптивного дизайна вашего проекта.
Semantic Grid System
Используется для создания «разумного» шаблона. Она использует такие расширения как LESS, SCSS или Stylus, чтобы сделать ваш сайт более эффективным.
Columnal CSS Grid System
Эта система сеток поможет создавать адаптивные макеты.
Simple Grid
Golden Grid System
Сервис с помощью которого вы можете протестировать ваш сайта используя сетку из 18 столбцов.
1140 CSS Grid
Оптимизирована для работы на экранах от размера мобильных устройств до мониторов 1280px в ширину. Это простая и гибкая сетка, которая использует Media Queries.
Susy
Очень простой процесс установки и настройки, изменяемая ширина колонок и отступов, любое количество колонок. Также есть возможность перехода на 1140px разметку.
Respond.js
Это быстрый и малый по объему Polyfill (фрагмент кода, добавляющий неподдерживаемый браузером функционал) создан Scott Jehl для поддержки свойств min-width и max-width из CSS3 Media Queries в IE6-IE8 и выше.
CSS3-Mediaqueries.js
Библиотека css3 mediaqueries.js добавит поддержку CSS3 медиа-запросов в старые броузеры (IE 5+, Firefox 1+, Safari 2).
Adapt.js
Это очень маленький (<1 кб) javascript-файл, который может загружать определенные CSS-файлы в зависимости от ширины веб-страниц. Перед тем, как браузер полностью загрузит страницу, плагин проверяет ширину дисплея и автоматически определяет, какой CSS-файл нужно загрузить.
Categorizr
ProtoFluid
Инструмент для быстрого прототипирования адаптивного дизайна. Вы можете спроектировать CSS для различных популярных размеров экранов, ориентаций и браузеров, будь то телефоны, планшеты, мониторы или телевизоры (720p, 1080p).
Tiny Fluid Grid
Tiny Fluid Grid поможет вам создать свою собственную резиновую сетку из 12, 16 or 24 колонок, задать их максимальную и минимальную ширину и отступ в процентах.
mediaQuery Bookmarklet
Фреймворки для создания адаптивного тдизайна
Mobile Boilerplate
Вы получите кроссбраузерность для смартфонов и хорошую поддержку для старых BlackBerry, Symbian и IE Mobile.
320 and Up
Инструмент 320 and Up основан на принципе mobile first (сначала мобильные устройства), при котором дизайн создается сначала для экранов мобильных устройств, а затем расширяется для планшетов, настольных ПК и больших экранов. Он хорошо работает как в качестве дополнения к HTML5 boilerplate, так и отдельно.
Gridless
Очень простой и прямолинейный, нет никаких предустановленных систем разметки или не-семантических классов. Является отправной точкой, его необходимо редактировать, настраивать и переписывать для удовлетворения своих требований.
Skeleton
12-ти колоночная разметка, 960px максимум, использует много медиа-запросов. Поддерживается Chrome, Safari, Firefox, IE 7 и выше, мобильные версии браузеров
Bootstrap
Это интерфейсный набор инструментов для быстрой разработки веб-приложений. Язык LESS, 12-ти колоночная адаптивная разметка, поддержка мобильных устройств, планшетов и мониторов, множество компонентов, кнопок, выпадающие меню, собственный стиль полей ввода, списков, заголовков, меток, иконок, алерты, табы, прогресс-бары, всплывающие подсказки, «аккордеон», «карусель», и так далее, различные Javascript-плагины, поддержка Scaffolding, в том числе применение Bootstrap-стиля к уже созданным HTML.
Less Framework 4
Less Framework 4 содержит 4 верстки и три набора типографики, все это основано на одной сетке. Также имеется генератор CSS.
Inuit.css
Основан на SASS, объектно-ориентированный.
Foundation 3
Flurid – The Fluid CSS Grid Framework
Гибкая верстка, позволяющая быстро располагать элементы на странице, многоуровневые колонки, может быть адаптирована под любой размер.
Адаптивные плагины
Overthrow
Создание надежного метода безопасного использования CSS overflow в адаптивных дизайнах, поддержка polyfill в неродных средах.
Isotope
Плагин Isotope позволяет менять всю сетку размещения блоков на странице в зависимости от разрешения экрана. Это плагин содержит возможности фильтрации и сортировки, которые позволят вам обеспечить расположение элементов на вашем сайте в соответствии с собственными пожеланиями. Перемещение блоков при изменении ширины страницы сопровождается приятной анимацией.
Masonry
Плагин, реализующий на странице эффект движущейся плитки из блоков. Вы меняете размер экрана — блоки заполняют собой все доступное по ширине пространство.
TinyNav.Js
TinyNav.js -легкий плагин, который позволяет преобразовать большие списки навигации в небольшие выпадающие меню для маленьких экранов.
FitVids.Js
С помощью этого плагина вы можете делать видео адаптивным.
The Wookmark jQuery plugin
Wookmark — плагин для создания динамичного многоколоночного шаблона.
Тестеры и отладчики
ResizeMyBrowser
Помогает изменять размер окно браузера. Вам просто нужно будет кликнуть на указатель размера, в котором вы хотели бы увидеть свой сайт.
Responsivepx
C помощью Responsivepx можно не только проверить свой сайт (даже локально), но и получить рекомендации, которые можно использовать в медиа запросах для создания адаптивного дизайна.
Responsive Design Testing
Этот инструмент предназначен для всех, кому нужен быстрый и простой способ проверить созданный сайт при различной ширине экрана. Проверить сайт можно как онлайн, так и скачав код с Github.
The Responsinator
The Responsinator покажет как выглядит компоновка вашего адаптивного сайта на популярных устройствах.
Responsive.is
Нужно просто ввести адрес вашего сайта и посмотреть, как он будет отображаться на различных устройствах.
Screenqueri.es
Бесплатная утилита для тестирования адаптивного дизайна. Для проверки шаблона нужно ввести URL сайта , выбрать тип мобильного устройства или установить границы окна просмотра.
Aptus
С помощью этого инструмента вы можете легко просматривать, изменять и делать скриншот вашего адаптивного сайта.
Screenfly
Позволит посмотреть, как примерно выглядит ваш сайт на популярных устройствах.
Resizer
Resizer – это очень удобный букмарклет для тестирования адаптивных шаблонов в считанные клики.
Адаптивные слайдеры
Blueberry
Плагин Blueberry организует приятную и лаконичную галерею изображений, которая подстраивается под размеры родительского элемента.
Zimit Framework
Elastislide
Плагин jQuery для адаптивной карусели, которая изменяет размер и алгоритм работы в соответствии с размером экрана. Если вставить карусель в контейнер с изменяющейся шириной, то и она будет изменять ширину.
ResponsiveSlides.Js
Самый простой плагин слайдера, который делает его адаптивным внутри одного контейнера.
По материалам: onextrapixel
Перевод — Дежурка
Смотрите также:
Комментарии
Оставить ответ
Похожие статьи
Случайные статьи
Как сделать адаптивный дизайн сайта
В настоящее время, когда доля использования мобильного трафика неумолимо растет, нужно думать о том, как будет выглядеть сайт не только на десктопе, но и на планшете или смартфоне. В России все же доля просмотра сайтов на компьютере доминирует, поэтому многие дизайнеры используют подход desktop first при создании дизайна сайтов (т. е. изначально дизайн рисуется под десктопный вариант, а затем модифицируется под другие устройства). Давайте рассмотрим основные подходы к тому, как сделать адаптивный дизайн сайта.
Сначала немного о программировании. Описание внешнего вида страницы сайта хранится в таблице стилей CSS, иными словами, это файл, который формирует верстальщик на основании вашего дизайна. Там описывается, какой будет фон страницы, отступы объектов, выравнивание, размеры шрифтов и т. д. И все эти значения будут разными, в зависимости от того, какой размер экрана у пользователя, просматривающего сайт в данный момент. Задаются разные правила стилей для следующих размеров экрана (если кому интересно, это правило media query – min-width (минимальная ширина, то есть то значение ширины экрана, при котором текущие правила дизайна будут действовать)):
min-width — 1200px; — большой десктоп
min-width — 992px; — десктоп поменьше
min-width — 768px; — планшет
min-width — 480px; — смартфон
И для всех этих вариантов мы должны предусмотреть разные способы дизайна страницы, ведь понятно, что то, что смотрится на большом экране, не будет хорошо смотреться на экране смартфона. Давайте рассмотрим как создать адаптивный дизайн так, чтобы не пришлось для каждого варианта делать новый дизайн сайта.
1. Выбираем структуру. Сначала нужно определиться со структурой сайта. Как правило в таких случаях лучше использовать многоколонники. Об этом подробнее рассказывалось в статье «Модульные сетки в дизайне сайтов. За и против». Действительно контент, размещенный таким образом удобно адаптировать под разную ширину экрана, выстраивая горизонтально расположенные элементы — вертикально. Например, попробуйте изменить ширину окна браузера у данного сайта и обратите внимание, как меняется расположение карточек с категориями товаров.
Сначала карточки с товарами становятся меньше, до тех пор пока их размер не будет слишком маленьким для небольшого экрана планшета, а затем смартфона (на визуальное усмотрение дизайнера), а потом они начинают выстраивать в вертикальные ряды или ряд. Другими словами многоколонник становится одноколонником (для самого маленького варианта).
2. Преобразуем меню. Для того. Чтобы сделать адаптивный дизайн, важно учесть поведение меню. На сайте мы привыкли видеть вертикальное или горизонтальное словесное меню. Для мобильного варианта его, как правило прячут за кнопкой с выпадающим списком меню, как здесь:
Обратите внимание, что кнопки входа на сайт и поисковая строка тоже перекочевали в выпадающий список меню.
Так же возможен вариант, когда все иконки с header перемещаются в кнопочное меню, как здесь.
3. Делаем картинки динамичными. Естественно, что картинка на слайдерах или карточках товаров или в других случаях будет меняться в зависимости от ширины экрана. В большинстве случаев картинка просто масштабируется. Но иногда требуется ее обрезка или удаление. Например, здесь:
4. Подстраиваем текст под мобильный. Вы должны учесть, что чем меньше экран девайса, тем тяжелее воспринимается текст, поэтому старайтесь сделать шрифт крупнее, а межстрочные расстояния больше. А не просто уменьшайте размер шрифта пропорционально изменению ширины экрана.
5. Учитываем особенности девайса, на котором просматривается сайт. Некоторые функции не будут актуальны и вообще возможны на экране мобильного. Например, если разместить динамичный текст поверх картинки товара, то на планшете, где нет указателя мыши, невозможно будет его просмотреть, а нажатие сразу приведет на переход к странице товара. Это нужно учитывать, как сделали разработчики данного шаблона сайта:
6. Преобразуем кнопки и формы ввода под телелефонный стандарт. Кнопки, имеющиеся на сайте не достаточно также масштабировать пропорционально ширине экрана, ведь может получиться так, что они будут слишком мелкие. Обычно кнопки и поля для ввода информации делают во всю ширину экрана. Например, здесь, как упоминалось в пункте 2 данной статьи, поисковая строка, переехав в меню стала во весь экран. Так же на этом сайте ведет себя и форма для ввода адреса почты в футере:
7. То, что вы считаете важным делайте крупнее. Например, кнопки для соц сетей.
На основании вышеизложенных пунктов, можно сделать вывод, что при разработке адаптивного дизайна сайта, нужно одновременно ориентироваться на мобильного пользователя с самым маленьким экраном девайса. Так. Чтобы ваш дизайн не смотрелся слишком мелким и некликабельным. Если вы будете учитывать все перечисленные особенности, то сможете избежать многих проблем при создании адаптивного дизайна уже на начальных этапах работы.
И вот еще что, многие дизайнеры. Совместно с заказчиками конечно. Часто делают ошибку, когда при адаптации сайта для мобильной версии, просто отсекают часть контента, считая его лишним. Это неправильно. Сайт, который мы привыкли видеть на десктопе должен быть максимально похож на то, что мы видим на экране мобильного телефона. Он должен быть интуитивно понятным, только так, вы сможете удержать своего пользователя и создать успешный сайт.
Надеюсь я помогла вам разобраться с тем, как сделать адаптивный дизайн. Если вы хотите получать больше информации из блога «Дизайн в жизни», подписывайтесь на обновление статей des-life.ru
(Visited 528 times, 1 visits today)
Пять правил адаптивного веб дизайна
В мае 2010 года Итан Маркотт в своей статье для A List Apart изложил концепцию адаптивного (или «отзывчивого») веб-дизайна, положив тем самым начало новому направлению. Та статья привлекла внимание широкой аудитории и в конечном итоге ее автору для описания своих идей понадобилась целая книга.
Детальное описание макетов на основе сетки, гибких изображений и работы с медиа запросами радикально изменило процесс создания красивых сайтов.
С тех пор технология адаптивного веб-дизайна стала одной из наиболее обсуждаемых тем в дизайнерском сообществе. И теперь это уже – норма.
1. Дизайн, ориентированный на контент
Прежде чем взять в руки карандаш или открыть Photoshop, представляется целесообразным вооружиться контент стратегией. Необходимо составить определенное представление о контенте, предназначенном для конкретного сайта. Ведь нет смысла запускать сайт, не отдавая себе отчет в том, какого характера материал на нем будет размещаться.
При наличии контента уже можно экспериментировать с тем, как все будет выглядеть – строить каркас для контента. Этот термин был предложен Стивеном Хеем в книге Responsive Design Workflow, что подразумевает использование базовых прямоугольных блоков для создания макета для контента.
Эта техника идеально подходит для того, чтобы продемонстрировать базовое расположение основных шаблонов. Основных составляющих навигации, скрытых навигационных элементов, футера страницы и вторичных модулей. Вначале создается каркас, без излишней детализации – дополнительные элементы добавятся позже.
Затем уже необходимо думать об «адаптивных» контрольных точках. Для контента, сгенерированного в рамках контентной стратегии, подойдет простой макет из одной колонки, предназначенный для мобильных устройств. Это лучше делать в браузере, используя базовые элементы HTML, но больше об этом после.
Ограничив дизайн до одной колонки, можно уже думать об иерархии контента на странице. Какая же наиболее важная информационная составляющая страницы? Где должно располагаться главный призыв к действию? Есть ли смысл в прочтении страницы от начала до конца?
После составления требуемого порядка подачи информации, представляется уместным расширить канву контента, но не до такой степени, когда контент будет казаться слишком уж растянутым. Необходимо зафиксировать ширину. Это станет первой контрольной точкой.
А после подкорректировать раскладку страницы, чтобы она соответствовала новой ширине, добавив колонку, к примеру, для боковой панели.
2. Дизайн «в браузере»
Состоит учитывать, что плоские визуальные элементы и макеты Photoshop слишком усложняют процесс создания дизайна сайта, предоставляя вид того, как сайт будет выглядеть в зависимости от настроек браузера.
Но конечный итог практически неизменно отличается от изначально запланированного. Расширение элементов, увеличение пространства вокруг них и прочие нюансы – все это влияет на результат.
Проблема визуальных элементов – в том, что они выглядят слишком уж хорошо. Изображения четкие, типография сглаженная, применение эффекта тени и режимов смешивания превращают сайт в произведение искусства. Но ожидания клиента должны соразмеряться с тем, что получится в итоге.
В этом поможет прототип, созданный при помощи HTML и CSS (каскадных таблиц стилей), который впоследствии можно будет подвергнуть различным манипуляциям. Продемонстрируйте клиенту, как дизайн выглядит на различных девайсах и при разной ширине экрана.
Не беспокойтесь о том, что вы, возможно, не являетесь кудесником внешних интерфейсов, ведь существуют инструменты, позволяющие делать прототипы (Macaw, Webflow и Adobe Edge Reflow). Вы также можете воспользоваться советом какого-нибудь разработчика, но есть мнение, что вначале лучше освоить азы – это поможет составить представление о процессе построения адаптивного веб-дизайна.
Одно из преимуществ такой стратегии состоит в том, что сокращается время, необходимое для внесения изменений.
Предположим, что в наличии имеется 20 макетов Photoshop (или Fireworks), каждый из которых в трех вариантах (для десктопа, планшета и мобильного устройства), а задача в том, чтобы обновить стиль кнопок для сайта, или элементы навигации. Это значит, что необходимо обработать 60 страниц для изменения стиля, короче говоря, работа весьма трудоемкая.
Но благодаря нехитрым манипуляциям с CSS, такое изменение необходимо будет внести лишь единожды – обновления будут применены ко всем доступным страницам. В долгосрочной перспективе это позволить сэкономить время.
Помимо прочего, появится возможность протестировать возможности девайсов с различными размерами экранов. Большинство упомянутых инструментов подставляются с уже заданными параметрами окон просмотра, но доступна возможность экспортировать собственный дизайн и подогнать его под конкретный браузер. Таким образом представляется возможным передать желаемый опыт мобильности.
3. Разработка библиотеки паттернов
Одна из ключевых особенностей практически всех RWD-проектов – гид по стилю. Он, как правило, включает основные стили для проекта и интерактивные положения всех модулей.
На данном этапе необходимо определить каждый из паттернов опыта взаимодействия.
В Fireworks применяются символы и стили для общих компонентов и модулей. Для хорошего дизайна необходимо проиллюстрировать, каким образом каждый из модулей будет адаптирован к избранными контрольным точкам.
Разработчик Брэд Фрост предложил концепцию Atomic Web Design, для ее описания он использует отчасти наукообразную терминологию. Основные стили бренда он называет атомами, составляющими фундамент дизайна. Такие вещи, как цвет, шрифт и иконки соотносятся с базовыми элементами HTML для формулирования «молекул». Молекулы используются для создания «организмов». Взять, к примеру, кнопку поиска. В данном случае к кнопке может быть добавлена форма ввода и лейбл.
Затем происходит смешение с другими организмами для создания «шаблонов», например, заголовков. В свою очередь, шаблоны позволяют уже сформировать страницы – и вуаля! У вас есть Atomic Web Design.
Эта теория применима для составления структуры библиотеки паттернов. Вначале создаются стили бренда, а затем уже их можно адаптировать под элементы HTML и т.д. Ваша библиотека паттернов будет способна поведать историю проекта – о том, как бренд клиента стал по-новому выглядеть в сети. Для разработчиков необходимо добавлять заметки и фрагменты программ, относящиеся к определенной опции экранного меню.
Лаборатория паттернов по прошествии некоторого времени может превратиться в изменяемый веб-дизайн, по мере того, как осуществляется переход от дизайна страниц к дизайну системных компонентов.
4. Универсальность
При разработке дизайна невозможно предугадать каждый нюанс пользовательского опыта, в особенности что касается мобильных устройств. Существуют буквально сотни различных сценариев того, как пользовать может обращаться с сайтом – все из-за огромного количества смартфонов и планшетов, отличающихся размерами экранов, параметрами разрешения и типом ввода данных.
Дизайн должен адаптироваться к любому окружению. Ниже перечислены моменты, которые могут оказаться полезными.
4.1 Проверенный метод
Большинство современных мобильных девайсов оснащены тачскрином, поэтому необходимо учитывать размер интерактивных элементов интерфейса. Нет единого мнения об идеальной площади смартфона для нажатия. Инженеры Apple выбирают 44px, люди из Microsoft утверждают, что 34px лучше.
Возможно, использование 48px представляется более практичным при разработке интерактивных элементов. Для каждой области оставляются как минимум 6px, и обычно 12px – для базового уровня. В эпоху общего проектирования и крупных размеров многие сегодняшние сайты оставляют чуть больше места для десктопов. Эти увеличенные в объеме элементы должны также использоваться в формах – для простоты и соответствия мобильным девайсам. Некоторые предпочитают проектировать собственные расширенные поля форм для соответствия со стилем сайта.
Но применительно к мобильным устройствам рекомендуется по возможности использовать «родные» средства управления. Клавиатуры и выпадающее меню должны быть оптимизированы для конкретного девайса. И еще один момент: уберите выделение ссылки при наведении курсора для мобильных устройств.
Некоторая корректировка может существенно расширить опыт взаимодействия. Но ничего не может быть хуже многократного нажатия по сенсорному экрану для выполнения определенной задачи. А все из-за упущения по части выделения при наведении курсора.
4.2 Навигация
Один из распространенных вопросов, возникающих во время разработки «адаптивного» веб-сайта, – каким образом организовать навигацию. Для этого существует ряд способов в зависимости от количества контрольных точек.
Jump links
Одна из простейших и наиболее универсальных техник для мобильной навигации – jump link menu. Это по сути ссылка-анкор, которая предоставляет пользователю меню в нижней части страницы.
Для этого не требуется javascript или какие-либо другие добавочные скрипты, что обеспечит универсализацию для всех браузеров и устройств.
Выпадающий список
Еще один общий навигационный паттерн – выпадающее меню, когда иконки меню обеспечивает возможность навигации с дополнением плавной анимации. Для такой техники необходим javascript – чтобы разместить меню ниже кнопки и затем скрыть до тех пор, пока это не понадобится пользователю.
В некоторых элементах навигации для такой цели может использоваться графический элемент «Гармошка», это позволяет просмотреть уровни навигации, без загрузки каждой из страниц.
Без канвы
Такой метод является, пожалуй, самым популярным в RWD, ведь сайты все больше прибегают к помощи приложений. Пионером стала соцсеть Facebook со своими мобильными приложениями, это предоставляет веб-разработчикам шанс разместить навигацию сайта у края окна просмотра и переместить ее по просьбе пользователя.
На таких сайтах, как Teehan+Lax и Squarespace, описанная техника используется как единственный метод навигации. Есть мнение, что в скором времени она станет трендом в RWD.
4.3 Мобильные версии сайтов, ориентированные на выполнение задач
Еще один важный момент, на который стоит обратить внимание при разработке мобильной версии – расположение средств контроля в верхней части страницы. Над «сгибом».
Разработчики дискутируют о том, что в сфере веб-дизайна нет такого понятия, как «сгиб», в последнее время появилось огромное множество новых устройств с разнообразным разрешением, что еще больше усложняет задачу определения линии сгиба конкретного сайта. Исходя из размеров самого маленького устройства, возможно определить так называемую «безопасную зону».
По той причине, что пользователи мобильных устройств, как правило, находятся в движении и располагают ограниченным временем и пропускной способностью, важно чтобы поверхность любого элемента из разряда «призыв к действию» (баннеры и прочее) всегда располагалась в верхней части экрана, а дополнительный контент – ниже.
Яркий тому пример – мобильный дизайн для электронной коммерции, когда на многих страницах, посвященных продукции, содержится, наряду с навигацией сайта, название товара, цена, изображения в миниатюре и призывы купить все, что находится выше сгиба. Вторичный контент, такой как особенности продукции и спецификации, может помещаться в нижней части сайта.
Достижение этого возможно за счет неукоснительного соблюдения контентной стратегии и тщательного обдумывания того, как будет выглядеть верх сайта в приложении.
5. Производительность
Невозможно предугадать, какое устройство окажется в руках у пользователя, и какими возможностями подключения он будет располагать. Поэтому и необходимо создавать дизайн «адаптивного» сайта, держа в уме производительность. Никто не хочет тратить время и ждать, особенно в интернете. Если сайт не загружается в течение нескольких секунд, пользователь может уйти.
Если у сайта хороший дизайн и все остальные составляющие также в порядке, пользователи непременно зайдут на него вновь. Основное, на что следует обратить внимание, – делать страницы как можно более легковесными. Более 60% «веса» большинства сайтов – это только изображения. Остальное: скрипты, таблицы стилей и прочие медийные элементы.
Самый простой способ уменьшить размер файлов сайта – это экспортировать их непосредственно из графического приложения. Однако этого недостаточно. В частности, когда используются PNG-файлы.
Такие сайты, как TinyPNG, помогают уменьшить вес файлов, сбросить балласт дополнительных данных и убавить цвет. Такие порталы – настоящая находка, и многие дизайнеры добавляют TinyPNG в набор часто используемых инструментов.
«Адаптивные» изображения
Кроме уменьшения размера картинок, порой важно, чтобы разные снимки подходили для разных устройств. Ведь громадные изображения (на сотни килобайт) не предназначены для мобильных устройств, у которых наличествуют ограничения по данным и плохие возможности связи 3G.
Существует множество скриптов, которые помогут этого добиться (Picturefill Скота Джелфи и Adaptive Images) в зависимости от потребностей сайта и возможностей сервера. Но не стоит об этом беспокоиться. Веб-дизайнеры обычно предусматривают, как изображения будут адаптированы под различные контрольные точки и девайсы и вносят соответствующие коррективы. В идеале в гиде по стилям или лаборатории паттернов.
Усечение скрипта
Большой размер сайта может зависеть еще и от различных скриптов, таких как Javascript и дополнительных CSS таблиц стилей.
Кто-то может сказать, что обо всем этом должны беспокоиться разработчики, и будет прав – но лишь отчасти.
Если во главу угла ставится совместимость сайта с мобильным устройством, тогда соответствующим образом должны писаться и CSS, а также любые другие таблицы стилей для крупных контрольных точек.
Общий объем анимации – это то, за чем необходим постоянный контроль. Под анимацией в данном случае подразумевается все, что двигается и требует написания скриптов. Анимация существенно увеличивает размер файлов.
Для неофитов, впервые работающих над мобильными сайтами, вначале лучше идти по пути наименьшего сопротивления, ограничиваясь по больше части статичными элементами. Если возникает необходимость в том, чтобы добавить красивый слайд – можно немного поэкспериментировать и посмотреть, как это отразится на производительности сайта.
Подача контента небольшими порциями
Хороший способ уменьшить размер файлов и тем самым повысить производительность – «нарезать» контент небольшими порциями и предоставлять его по мере необходимости, когда пользователи об этом попросят.
Речь не о том, чтобы сегментировать весь контент, а только вторичный.
Существует множество прогрессивных техник, например, «load on scroll» – ее используют многие социальные сети в отношении новостных лент – таким образом пользователи могут загружать больше контента, исходя из необходимости, (вместо случайной загрузки большего объема контента при нажатии на нижнюю часть страницы).
Очередной полезный способ, обеспечивающий большую детализацию и позволяющий просматривать больший объем вторичной информации – разместить контент на следующей странице для мобильного просмотра. К примеру, можно поместить аккуратную ссылку для перехода на страницу, где информации больше.
И в заключение…
Те времена, когда веб-дизайнерам приходилось заботиться только лишь о совмещении контента с цветом, типографическими стилями веб-страниц и прочим, безвозвратно ушли. Дизайнерский мир претерпел кардинальные изменения: теперь веб-разработчиков не нанимают, чтобы лишь раскрасить детализированный каркас в типичном проекте типа «водопад».
Необходимо принимать во внимание множество моментов, иметь представление о процессе построения сайта и выбора приоритетов применительно к контенту, который соответствует требованиям пользователя. Все подбирается экспериментально, только перенеся теорию в практическую плоскость, возможно понять все эти нюансы.
Индустрия веб-дизайна пытается идти в ногу со временем и учитывать современные реалии, когда производится огромное множество мобильных девайсов. Пришло время расширить дизайнерский горизонт и сделать сферу веб-дизайна немного лучше – для каждого электронного устройства.
В этой заметке были представлены пять особенностей адаптивного веб-дизайна, но их, конечно же, намного больше. И к моменту, когда читатель осилит этот текст, список всевозможных нюансов пополнится чем-то новым.
Выражаем благодарность econsultancy за прекрасный материал.