Плиточное меню html. Управление выводом товаров в категории. Сколько времени занимает изготовление меню

1. Вертикальное яркое jQuery меню

2. Прикольный эффект. Танцующее меню.

4. Выпадающий список с применением jQuery

Отличная стилизация элемента интерфейса в виде раскрывающегося списка.

При наведении мышки на кнопку сверху выезжает панель.

6. jQuery плагин «MobilyBlocks» для отображения кругового меню

7. Меню с использованием спрайтов

Анимированное javascript меню с эффектом свечения.

Свежее симпатичное меню на jQuery.

9. jQuery меню «GarageDoor»

10. jQuery меню с вертикальной прокруткой

Реализация меню с большим количеством пунктов. Прокручивается при перемещении курсора мыши вверх или вниз.

11. jQuery оформление выпадающего списка

12. Плагин навигации по странице

Плавная прокрутка к нужному разделу на странице. Плагин «jQuery One Page Navigation».

13. Плагин «Animated Content Menu»

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

14. jQuery плагин меню «Sweet Menu»

Анимированное меню с выезжающими пунктами.

15. Фиксированное jQuery меню

При прокрутке страницы вниз, меню остается зафиксировано сверху экрана.

16. Прокручивающиеся меню «Slider Kit»

Для реализации вертикльного меню с большим количеством пунктов. Прокрутка пунктов осуществляется с помощью колеса мыши, либо с помощью ссылок «Previos» и «Next».

17. Стильное CSS3 меню

18. Новое CSS3 меню в стиле Apple

Новое меню в стиле Apple. Выглядит темнее того, что было ранее, но не менее симпатично.

19. Оригинальное jQuery меню

Выпадающее меню с фоновым эффектом. Подпункты меню разворачиваются вверх. При наведении на пункт меню сменяется фоновое изображение.

20. Анимированное меню на jQuery

Анимированное меню. Пункты меню представлены в виде иконок и описания. несколько отличных эффектов при наведении курсора мышки на пункт меню. Предусмотрено 8 эффектов, чтобы посмотреть их все - пройдите по ссылкам Exemple1-Exemple8 на демонстрационной странице.

21. «Scrolling menu» XML меню с прокруткой

Вертикальное и горизонтально меню с прокруткой. Хорошее решение при большом количестве пунктов в меню.

22. Контекстное меню на сайте на jQuery

Меню всплывает по нажатию правой кнопкой мыши на определенной области.

23. Круговое двухуровневое меню для сайта

При выборе пункта меню, справа отображаются пункты подменю.

24. jQuery CSS3 меню с эффектом размытия «Blur Menu» CSS3

Оригинальное jQuery CSS3 меню выполнено в 7 различных стилевых оформлениях. При наведении курсора мыши на один из пунктов меню остальные как бы размываются.

25. Несколько эффектных анимированных jQuery CSS3 меню

10 креативных анимированных меню. Горизонтальные и вертикальные CSS3 меню с различными эффектами и переходами.

В архив также вложен исходный PSD файл меню.

27. Меню MagicLine

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

28. Image Bubbles

Отличный эффект, при наведении мышки на одно из изображений. Эффект чем-то напоминает jQDock, описанный выше.

31. Интересные jQuery меню с различными эффектами

Горизонтальное, вертикальное меню. Интересные эффекты.

32. Отличное jQuery меню в стиле Apple

34. jQuery меню с интересным эффектом

36. Свежее меню с интересным эффектом на jQuery

Очень интересный эффект. Отлично подойдет для оформления сайтов-портфолио.

Интересный эффект выплывающих миниатюр при наведении.

40. Выпадающий список с автоскроллингом

Симпатичный эффект перехода между пунктами.

42. Отличное jQuery меню

43. Красивое большое jQuery меню

44. Прокручивающиеся jQuery меню

Пункты меню представлены в виде миниатюр.

46. Круговое меню навигации jQuery

47. CSS и jQuery меню

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

48. Горизонтальное jQuery меню

49. Вертикальное jQuery меню

Отличное вертикально меню. При наведении курсора выплывает пункт меню.

50. Горизонтальное jQuery меню

Интересный эффект при наведении курсора на пункт меню.

52. Раскрывающееся jQuery меню

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

53. CSS и jQuery панель навигации

Интересный эффект при наведении курсора мыши на пункт меню.

54. Всплывающая jQuery панель

Свежее анимированное меню в серых тонах.

58. Колоночная навигация по сайту на jQuery

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

59. jQuery навигация по сайту

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

60. Панель навигации прокручивается вместе с содержимым

Панель навигации. При нажатии на стрелку происходит прокрутка страницы. Навигация прокручивается вместе с содержимым страницы.

61. jQuery панель с различными социальными сервисами

62. Аккуратное анимированное jQuery меню

63. jQuery меню «Акварельные кисти»

Меню на сайте — вроде ничего сложного с первого взгляда, но как сделать так, чтобы меню отличало сайт, делало его особенным и в тоже время целиком соответствовало стилю всего сайта? Создать меню — несложно, а вот создать оригинальное интересное меню — не так то и просто. Даже небольшие элементы — подсветка, подчеркивание, стрелочки, обводка, меню с небольшими иконками, выпадающие разноцветное меню, меню с эффектом перелистывания, другое, делают сайт более интересным, интерактивным, предоставляют пользователю небольшой элемент игры и просто такое меню — приятно для работы с сайтом. Надеемся, что сайты с подборки подскажут вам новые идеи и решения.

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

7. Оригинальная презентация магазина сумок Noonstyle . Меню чуть заметно в правой части сайта, зато на весь экран выводится фотография, которая как-будто имитирует текстуру изделья.

8. Интересный сайт студии Tisha creative , на котором как бы протекает обычная жизнь Лондона — меняется день и ночь, а меню для удобства пользователей подсвечивается белым.

9. Learnlakenona . Попутешествуйте по озеру, ведь это — настоящая карта со всеми надписями. Никогда не знаешь, что найдешь под очередным объектом на карте.

10. Alexbuga предлагает нам настоящее сложное технически меню. У пользователя создается впечатление, что он зашел не послушать музыку, а заглянул в настоящую аппаратную. Так и чешутся руки поклацать кнопки и потянуть все рычажки. На этом сайте даже можно самому сочинить музыку;-)

11. Campfirenyc . Меню на этом сайте можно рассматривать с разных ракурсов. Интересно, что само меню оформлено в виде характерного прямоугольника, который создает аллюзию с прямой речью, что часто используется в комиксах. Однако, это не главное. Самым интересным элементом сайта является реализация каждой из рубрик меню — рубрика открывается не вниз, и не на ширину всей страницы сайта, как стоило того ожидать, а вправо одновременно в две колонки.

12. Wearefellows — меню как будто выпадающее меню в левом верхнем углу, которое сначала совсем незаметно для пользователя. Этот сайт — подтверждение идеи, что минимализм нынче в моде — только черные и белые оттенки — ничего более. Стильно и эффектно.

13. Usu На сайте видим сразу несколько вариантов реализации меню — это и нетипичный белый шрифт в черных прямоугольниках, которые при наведении подсвечиваются красным, а также меню на сайте реализовано посредством приема доски объявлений — ненавязчиво и по-студентчески.

14. Добро пожаловать в бар Getraenke-kukral ! Хотите воды, лимонада, пива или сока? Меню на этом сайте реализовано посредством использования больших иконок, которые олицетворяют тот или другой напиток. При наведении контур меню слегка подсвечивается темным цветом.

15. Typographica Меню этого сайта — типографические работы, но в придачу существует выпадающее меню с детальным описанием содержания всей рубрики. Интересно, что в развернутом виде можно открыть все рубрики одновременно.

16. Workatplay — меню сайта спрятано в верхнем левом угле страницы, но открывается при движении мышки в соответствующем направление. Кроме этого — красивое сочетание цветов — розовый шрифт на черном фоне.

17. Benhulse . Типичное плиточное меню. При этом каждая рубрика слегка подсвечивается при наведении. Просто и понятно.

18. Rednoseday Каждая рубрика при открытии перекрашивается в белый цвет, а по краю образовывается своеобразная строчка от шва — оригинально и стильно.

19. Molanphydesign Оранжевая еле заметная подсветка меню.

20. Синяя подсветка Fullyillustrated реализовуется одновременно в двух ракурсах — сверху страницы и снизу фотографии. Таким образом, обозначено, что каждый пример с галереи задается одновременно двумя рубриками (одной нижней и одной верхней).

21. Builtbybuffalo — Обратите внимания на обозначения активного меню оранжевой каплей.

22. Mariecatribs На активное меню указывают стрелочки.

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

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

Хороший веб-сайт не может обойтись без навигации по следующим причинам:

  1. Она помогает понять, чему посвящен сайт, не просматривая все страницы.
  2. Благодаря навигации сайт выглядит логичным и упорядоченным, повышается его юзабилити.
  3. Навигация призывает пользователя задержаться, чтобы изучить другие разделы.
  4. Хорошая навигация полезна для SEO, потому что помогает поисковым роботам индексировать содержимое сайта.

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

Горизонтальное меню

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

В виде ссылок с тем или иным оформлением:

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

То же самое касается пункта, на который наведен курсор. В этом примере он на Notes:

Использование иконок также распространено. Кроме того, иногда вертикальное меню можно минимизировать и отображать только иконки :

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

Раскрывающееся меню

Раскрывающиеся меню подходят для сайтов с разветвленной структурой: магазинов с широким ассортиментом и большим количеством групп товаров. Они помогают скрыть подразделы и не захламлять пространство сайта:

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

Или же полный набор разделов и подразделов:

В примере выше используется много свободного пространства, чтобы облегчить восприятие большого количества ссылок.

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

А в случае с комбинированными типами меню потребуется решить, какие части меню будут раскрываться и содержать в себе дополнительные подразделы :

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

В вертикальном меню:

Упоминания также заслуживает инновационный дизайн для меню сайтов, который пока еще не получил широкого распространения, но вызывает интерес. Например, элементы навигации на сайте компании Unlabel расположены по все четыре стороны от основного содержимого страницы:

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

Идея выезжающего меню интересно реализована в теме Wordie для Wordpress:

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

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

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

Плиточная раскладка является одной из самых популярных. Не знаете, что это такое? Вспомните о Pinterest, Windows’ Metro и т.д. Если объяснять это на словах, то представьте сумасшедший эффект соединения блоков разных размеров в эстетически упорядоченном, часто шахматном порядке.

Плиточная раскладка не является чем-то новым. Так почему мы говорим о ней сейчас? Ведь есть же отличные решения для получения эффекта плиточной раскладки? Есть. Но можем ли мы продвинуть решение на чистом CSS чуть дальше? Можем ли мы использовать флексбокс для достижения требуемого эффекта?

Простейшая плитка

Начнем с базовой раскладки. Представьте примерно такую структуру DOM для нашей раскладки:

<-- CONTENT HERE -->
<-- CONTENT HERE -->
<-- CONTENT HERE -->
<-- FOLLOWING CONTENT PANELS -->

Мы хотим добавить колонки к нашему контенту. Сможем ли мы добиться хотя бы простого эффекта плиточной раскладки на основе нашей структуры DOM с минимальными усилиями, используя только колонки CSS3 или флексбокс?

Что такое многоколоночная раскладка и флексбокс?

Пробуем многоколоночную раскладку

В CSS для многоколоночных макетов есть свойства column-count и column-gap . Это позволяет сравнительно легко сделать базовую плиточную раскладку. Учтите, что в раскладке важно использовать свойство break-inside на блоках с контентом. Это помешает разбитию и распределению содержимого блоков между колонками. CSS для этой стартовой точки будет следующий:

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

Пробуем флексбокс

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

С первой попытки я собирался имитировать колоночную раскладку при помощи flex-direction: column . Проблема с использованием значения column заключается в том, что вам надо задать высоту раскладки, перед тем как оборачивать столбцы. Но это неидеальный вариант, так как любое переполнение ведет к горизонтальному скроллингу. Так что вы или смиритесь со скроллингом, или у вас должна быть возможность регулировать высоту раскладки, в таком случае вы сможете красиво все располагать. Если вы работаете с динамическим содержимым, размер которого варьируется, вам придется постоянно заниматься выравниванием при его добавлении. Это явно не соответствует смыслу флексбокса.

Рассмотрим следующий пример:

Masonry-layout { display: flex; flex-direction: column; flex-wrap: wrap; padding: 10px; height: 100vw; } .masonry-layout__panel { display: flex; flex: 1 1 auto; width: 33.3%; margin-bottom: 10px; border-radius: 10px; }

Если вы готовы сильнее контролировать разметку и ее структуру, вы можете добиться желаемого эффекта с флексбоксом. Рассмотрим следующую структуру:

Добавление колонок в раскладку дает вам дополнительный контроль над раскладкой. Однако вам придется немного подумать, как и где вы расположите отдельные фрагменты содержимого. В действии этот подход можно увидеть .

Многоколоночная раскладка выигрывает

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

Masonry-layout { column-count: 3; column-gap: 0; } .masonry-layout__panel { break-inside: avoid; padding: 5px; } .masonry-layout__panel-content { padding: 10px; border-radius: 10px; }

Рассмотрим этот код. Наши панели в идеале также должны быть блоками. Поэтому мы проведем небольшой рефакторинг.

Masonry-layout { column-count: 3; column-gap: 0; } .masonry-layout-panel { break-inside: avoid; padding: 5px; } .masonry-layout-panel__content { padding: 10px; border-radius: 10px; }

У нашей простейшей плитки по прежнему есть потенциал. Мы сделаем ее круче и флексбокс поможет нам в этом.

Вложенные кластеры с контентом

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

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

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

Masonry-layout-panel--small { height: 200px; } .masonry-layout-panel--medium { height: 300px; } .masonry-layout-panel--large { height: 400px; }

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

hello

yes

Some cool pics.

Поток кластеров может быть как горизонтальным, так и вертикальным. Если поток кластера горизонтальный, мы задаем колонки с сегментами, обтекающими вертикально и наоборот. Это изменяется с помощью flex-direction . Сегменты кластера увеличиваются/уменьшаются, заполняя пустое пространство, а кластеры работают как блоки.

Если нам нужен более тонкий контроль над сегментами кластеров, мы можем создать служебные классы, чтобы задать в процентах flex-basis . Нам не нужен служебный класс “полный размер”, так как мы можем просто включить один элемент в контейнер и он займет всю ширину или высоту. Для “половинки” мы зададим flex-basis: 50% . Достоинством такой имплементации будет возможность поместить любое количество колонок или рядов соответственно.

Как может выглядеть код? Как вариант:

Masonry-layout-cluster { display: flex; padding: 0; } .masonry-layout-cluster--vertical { flex-direction: row; } .masonry-layout-cluster--horizontal { flex-direction: column; } .masonry-layout-cluster__segment { display: flex; flex: 1 1 auto; } .masonry-layout-cluster__segment--row { flex-direction: row; } .masonry-layout-cluster__segment--column { flex-direction: column; } .masonry-layout-cluster__segment--half { flex-basis: 50%; } .masonry-layout-cluster__segment--quarter { flex-basis: 25%; }

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

Темизация и панели с изображениями

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

Masonry-layout-panel__content { border-radius: 10px; overflow: hidden; padding: 10px; }

Как насчет изображений? Достаточно часто требуется вывести изображения как отдельные панели в плитке. Если мы поместим изображение внутри панели, на него будут влиять пэддинги, заданные для нашей темы. Так почему бы нам не использовать для изображения класс masonry-layout__panel-content с модификатором?

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

Masonry-layout-panel__content--img { max-width: 100%; padding: 0; }

Проверить, как это выглядит, можно в демо . Примечание: так как имена классов имеют тенденцию раздуваться, в примерах кода используются аббревиатуры. Например, masonry-layout становится ml , masonry-layout-cluster становится ml-clstr . Заглушки для изображений выводятся желтым цветом.

Анимация панелей при наведении

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

Masonry-layout-flip--medium { height: 300px; }

Ну и новый блок для переворачивающихся карт:

Here is a flpped image…

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

/* CSS FOR FLIPPER PANELS */ .masonry-layout-flip { perspective: 1000; } .masonry-layout-flip:hover .masonry-layout-flip__content { transform: rotateY(180deg); } .masonry-layout-flip--md { height: 300px; } .masonry-layout-flip__panel { backface-visibility: hidden; border-radius: 10px; height: 100%; left: 0; overflow: hidden; position: absolute; top: 0; width: 100%; } .masonry-layout-flip__panel--front { transform: rotateY(0deg); z-index: 2; } .masonry-layout-flip__panel--back { transform: rotateY(180deg); } .masonry-layout-flip__content { height: 100%; overflow: visible; position: relative; transform-style: preserve-3d; transition: 0.25s; }

Вы можете увидеть этот эффект на первом элементе раскладки в демо .

Мы не ограничены переворачивающимися панелями. Мы можем добавлять различные эффекты к панелям при фокусе. В итоговом коде я еще добавлю кое-какие эффекты.

Добавляем отзывчивость

Если вы дошли до этого раздела, то наверняка заметили, что наша плиточная раскладка совсем не торт на маленьких экранах. Сделаем ее отзывчивой. Что мы хотим получить? При увеличении экрана мы хотим увеличивать число колонок в макете. А при уменьшении экрана, кроме уменьшения числа колонок мы будем разбирать кластеры, позволяя их сегментам занимать всю ширину раскладки. Разумеется, мы будем разрабатывать наши стили, начиная с мобильных. Вот пример с отзывчивым количеством столбцов:

/* COLUMN CHANGES */ .masonry-layout { column-count: 1; column-gap: 0; } @media (min-width: 768px) { .masonry-layout { column-count: 2; } } @media (min-width: 1200px) { .masonry-layout { column-count: 3; } }

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

/* CLUSTER FLOW IGNORED AT LOWER VIEWPORT */ @media (min-width: 768px) { .masonry-layout-cluster__segment--row { flex-direction: row; } } @media (min-width: 768px) { .masonry-layout-cluster--vertical { flex-direction: row; } } /* FLEX-BASIS IGNORED AT LOWER VIEWPORT */ @media (min-width: 768px) { .masonry-layout-cluster__segment--half { flex-basis: 50%; } .masonry-layout-cluster__segment--quarter { flex-basis: 25%; } }

Демонстрацию этого кода можно посмотреть .

Используем препроцессор

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

Итак, для сравнения итоговый код CSS из примера в этой статье (без вендорных префиксов и темизации, в именах классов использованы аббревиатуры).

/* MASONRY CSS */ .ml { box-sizing: border-box; column-count: 1; column-gap: 0; position: relative; } .ml * { box-sizing: border-box; } @media (min-width: 768px) { .ml { column-count: 2; } } @media (min-width: 1200px) { .ml { column-count: 3; } } .ml-pnl { margin: 0; padding: 5px; } @media (min-width: 768px) { .ml-pnl { break-inside: avoid; } } .ml-pnl__cntnt { border-radius: 10px; overflow: hidden; padding: 10px; width: 100%; } .ml-pnl__cntnt--img { max-width: 100%; padding: 0; } .ml-flp { perspective: 1000; } .ml-flp:hover .ml-flp__cntnt { transform: rotateY(180deg); } .ml-flp--sm { height: 200px; } .ml-flp--md { height: 300px; } .ml-flp--lg { height: 400px; } .ml-flp__pnl { backface-visibility: hidden; border-radius: 10px; height: 100%; left: 0; overflow: hidden; position: absolute; top: 0; width: 100%; } .ml-flp__pnl--frnt { transform: rotateY(0deg); z-index: 2; } .ml-flp__pnl--bck { transform: rotateY(180deg); } .ml-flp__cntnt { height: 100%; overflow: visible; position: relative; transform-style: preserve-3d; transition: 0.25s; } .ml-clstr { display: flex; padding: 0; } .ml-clstr--vrt { flex-direction: column; } @media (min-width: 768px) { .ml-clstr--vrt { flex-direction: row; } } .ml-clstr--hrz { flex-direction: column; } .ml-clstr__sgmnt { display: flex; overflow: hidden; flex: 1 1 auto; } .ml-clstr__sgmnt--rw { display: flex; flex-direction: column; } @media (min-width: 768px) { .ml-clstr__sgmnt--rw { flex-direction: row; } } .ml-clstr__sgmnt--clmn { flex-direction: column; } @media (min-width: 768px) { .ml-clstr__sgmnt--hlf { flex-basis: 50%; } .ml-clstr__sgmnt--qrt { flex-basis: 25%; } }

Заключение

Мы рассмотрели методику создания плиточной раскладки на чистом CSS. Мне действительно нравится результат. Плитка на чистом CSS может работать, хотя она и не безупречна. Я вижу потенциальные проблемы. Например, сложности будут,если вы хотите вывести блог, отсортированный по дате, это потребует дополнительных размышлений. Одним из решений будет использование колонок с последующим заполнением их в хронологическом порядке. В результате последняя запись будет в первом столбце, предыдущая во втором и так далее.

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

Выпадающие меню. Еще совсем недавно они встречались повсеместно. Но жизнь не стоит на месте и, похоже, что эпоха выпадающих меню подходит к концу. Навигация в виде раскрывающихся списков уже не отвечает современным реалиям – пользователям нужно нечто другое.

Людям нужны другие меню и новые возможности навигации, которые будут проще и понятнее. Желательно также, чтобы меню не содержало большого количество опций – сегодня никто не хочет несколько секунд размышлять, где именно находится нужная информация. Навигационное меню должно быть аппаратно-агностическим и работать одинаково на разных типах устройств, создавая единый пользовательский опыт. Что же можно предпринять, если становится ясно, что раскрывающееся меню, при всех его достоинствах, является не лучшим решением? Есть как минимум пять вариантов.

СКРОЛЛИНГ-ПАНЕЛИ

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

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

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

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

СКРЫТЫЕ ГАМБУРГЕРЫ

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

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

Например, можно схитрить и предельно упростить основное меню. Предложить пользователям несколько основных элементов, что существенно упростит взаимодействие с сайтом. Да и нужны ли сегодня подробные меню с большим количеством пунктов? Значительная часть пользователей попадает на сайт по ссылкам из поисковых систем, так как людям лень вбивать в адресную строку URL, поэтому не стоит усложнять им задачу и просто предложить выход с внутренней страницы в основные разделы сайта. Здесь-то и поможет иконка-гамбургер с упрощенной навигацией.

ПЛИТОЧНАЯ НАВИГАЦИЯ

Плитки, плитки. Все чаще в интернете встречаются сайты с плиточным дизайном – феноменальный успех Pinterest не дает покоя многим дизайнерам. Плитки-карточки как нельзя лучше подходят для маленьких дисплеев, людям нравится такой подход к демонстрации контента, так почему бы не использовать плитки в качестве навигационного меню?

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

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

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

ЛИПКИЕ МЕНЮ

Меню должно быть прежде всего понятным. Также очень важно, чтобы пользователь не испытывал ни малейших затруднений при поиске нужного раздела сайта. Следовательно, меню должно быть таким, чтобы его можно было легко найти. Липкие меню – один из наиболее простых способов создания простой навигации, с помощью которой пользователь сможет перемещаться между страницами. Как вариант – можно создать простое меню, где будет лишь несколько важных элементов и «приклеить» его так, чтобы оно всегда было перед глазами пользователя вне зависимости, в каком разделе сайта он находится.

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

Липкое меню – одна из самых простых альтернатив раскрывающимся меню. Этим объясняется большое количество готовых тем в маркетплейсах, где используется именно такое решение.

ВЕРИТКАЛЬНАЯ НАВИГАЦИЯ

Вертикальная навигация используется на двух популярнейших сайтах – Facebook и Twitter, однако сайтов, которые используют такой подход пока еще не так много.

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

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

ВЫВОД

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

Все правильно: простая навигация лучше, чем сложная. Но если приходится использовать большие, подавляющие выпадающие меню, настало время для перемен. Есть много новых подходов, почему бы их не использовать в своей работе?