- PVSM.RU - https://www.pvsm.ru -
Перевод статьи Криса Койера (Chris Coyier) с CSS-Tricks.com "Search with Filters Responsive Design Pattern [1]".
Паттерны дизайна — очень полезная штука, особенно в адаптивном дизайне. Рассмотрим пример: на большом экране в блоке со вкладками по ширине помещается много табов, однако на мобильном устройстве верстка съедет. Решение — использование специального паттерна дизайна [2], который сжимает все табы в выпадающие пункты.
Brad Frost [3] даже собрал очень хорошую коллекцию адаптивных паттернов [4], очень полезно. Еще один пример, форма поиска с фильтром результатов. На десктопе места много:

На маленьких экранах нет столько места, поэтому можно просто переместить правую часть с результатами вниз:

Для лучшего отображение фильтры можно скрывать/показывать по клику:

Возникает вопрос: как пользоваться фильтрами, если страницу на мобильном устройстве прокрутили вниз? Вариант решения — создание «filter bar», который будет привязан к верхней части экрана и поэтому всегда доступен:

В открытом состоянии:

Вот и получился паттерн адаптивного дизайна [5]. В коде CSS нед ничего особо примечательного, для изменения структуры используется media query. А в JavaScript-части применяется пример из статьи Persistent Headers [6], с незначительными правками.
Конечно он не решает всех проблем, как обычно. На то они и паттерны, а не шаблоны. должен ли «filter bar» содержать поле поиск? Возможно. Что делать, если пунктов фильтра станет больше? Нужна ли кнопка «наверх»? Все это необходимо решать в ходе работы над конкретным проектом.
Автор: grokru
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/veb-dizajn/39536
Ссылки в тексте:
[1] Search with Filters Responsive Design Pattern: http://css-tricks.com/search-with-filters-responsive-design-pattern/
[2] специального паттерна дизайна: http://codepen.io/sturobson/full/xgfeI
[3] Brad Frost: http://bradfrostweb.com/
[4] адаптивных паттернов: http://bradfrost.github.io/this-is-responsive/patterns.html
[5] паттерн адаптивного дизайна: http://codepen.io/chriscoyier/pen/egHJh
[6] Persistent Headers: http://css-tricks.com/persistent-headers/
[7] Источник: http://habrahabr.ru/post/187936/
Нажмите здесь для печати.