- Я пытаюсь использовать меню гамбургеров на bulma css, но это не работает. Что случилось?
- 6 ответов
- HTML-код
- решение
- Адаптивная навигация гамбургер на CSS3
- Готовим бургер меню на CSS, HTML и JQuery
- Готовим бургер меню на CSS, HTML и JQuery
- Техническое задание:
- 1. Рисуем бургер меню в левом верхнем углу шапки
- 2. Пишем скрипт анимации бургера при клике мыши.
- Почему стоит избегать гамбургерных меню и как это сделать?
- Все прекрасно знают о слабых местах этого паттерна, но какое может быть решение?
- Проблемы гамбургерного меню:
- Низкая обнаруживаемость
- Малая эффективность
- Конфликт с навигационными паттернами платформы
- Малопонятно с первого взгляда
- Осознание проблемы
- Решение
- Как это все масштабируется?
- Заключение
- Мобильное приложение «Заметки о психике» | Mental Notes
Я пытаюсь использовать меню гамбургеров на bulma css, но это не работает. Что случилось?
Я новичок в bulma css http://bulma.io/
Я пытаюсь использовать меню гамбургера для мобильного пользователя. Я просто следовал инструкциям на этой странице:http://bulma.io/documentation/components/nav/
но это не работает. Что добавить ?
на самом деле, я вижу меню гамбургеров, но он не работает, когда я нажимаю на него.
6 ответов
это может быть проблема с примером, приведенным в документах, я смог заставить его работать, добавив идентификаторы в .навигация-переключение и .навигационное меню.
поэтому, чтобы заставить пример работать, вам нужно добавить ‘id в соответствующие элементы. Я бы рекомендовал глубокое погружение в документы, хотя
это решение использует Vue.js для переключения компонента bulma nav при просмотре на мобильном телефоне. Я надеюсь, что это поможет другим, которые ищут альтернативное решение.
во-первых, я добавляю cdn для Vue.js, который можно найти здесь https://unpkg.com/vue, и включить экземпляр Vue в javascript.
HTML-код
a. Оберните раздел nav элементом «app», чтобы сделать его реактивным (это сопоставляется свойству » el экземпляра Vue).
b. Обновление .navbar-burger с помощью директивы v-on: для прослушивания события click и переключения свойства данных showNav.
c. Обновление .navbar-меню с помощью директивы v-bind: для реактивного обновления атрибута класса с результатом свойства showNav.
решение
Я включил все решение в этой jsfiddle
вы можете заставить его работать без использования jquery или bulma.js . Просто используйте свой собственный javascript, чтобы добавить is-active to nav-menu класс на нажмите на nav-toggle .
nav-menu is-active расширяется.
Я думал, что кто-то может искать решение без jquery, поэтому все будет в одном месте.
есть более простой способ! Прежде чем я доберусь до этого, похоже, есть несколько проблем с вашим Html.
первый выпуск. У вас нет структуры navbar, как предлагает документация. Если вы замените nav-left С navbar-brand Он позаботится о некоторых ваших Html для вас. В вашем примере кода у вас есть логотип как nav-item внутри nav-left . navbar-brand делает именно это. То, что вы сделали здесь, может сработать, но я не уверен, что именно это сделает. От документация:
» navbar-brand левая сторона, всегда видимая, которая обычно содержит логотип и, возможно, некоторые ссылки или значки»
поэтому, если вы берете это на уровень контейнера и внутри этого, вы можете просто поместить свой логотип внутри первого navbar-item . Следующая вещь, чтобы вытащить » navbar-burger inside of the навигации- «брэнд».
» The navbar-burger это меню гамбургеров, которое появляется только на мобильном телефоне. он должен появляются как последний ребенок navbar-бренда.«
как только это настроено, вы захотите поместить пункты меню, которые вы хотите свернуть внутри navbar-menu . Этот контейнер должен быть братом navbar-brand таким образом, они должны быть на одном уровне вместе. Таким образом, ваш код (в вашем контейнере div) должен выглядеть примерно так:
последняя часть головоломки: вы должны установить data-target вашего гамбургера на идентификатор из navbar-menu . Не очень понятно, о чем они говорят в документах. В любом случае, после внесения этих изменений код javascript из документации должны работать!
я понимаю, что этот вопрос был задан много лун назад, но я надеюсь, что это может помочь кому-то.
Источник
Адаптивная навигация гамбургер на CSS3
Также это адаптивные меню, которая по своему функционалу сворачивающиеся в гамбургер, это когда открываете сайт с мобильного устройства, что сейчас можно видеть практически на любом сайте. Но здесь есть одна фишка, которая заключается в кнопки hamburger, где при открытии меняется и преображается в другую форму. Вам нужно самому написать название сайта, что расположено с левой стороны, но все запросы останутся по правую сторону, где все выполнено с помощью HTML и CSS.
По умолчанию с широкого монитора:
Это видим с любого гаджет, где при нажатие откроются категории:
Здесь автоматически переходит вертикальное положение на мобильном аппарате:
Это простое навигационное меню можно самостоятельно оформить под любой дизайн, даже выставить тот оттенок цвета, что будет соответствовать основной стилистике сайта. Если это потребуется, то все нужно производить в прикрепленном CSS, где находится функционал и дизайн элементов.
.menyu-navigatsig <
background-color: #f7f7f7;
box-shadow: 1px 1px 4px 0 rgba(35, 35, 35, 0.26);
position: fixed;
width: 100%;
z-index: 3;
border-bottom: 2px solid;
border-color: #ababab;
margin: 0px 0px 0px 0px;
>
.menyu-navigatsig ul <
margin: 0;
padding: 0;
list-style: none;
overflow: hidden;
background-color: #fff;
>
.menyu-navigatsig li a <
display: block;
padding: 18px 18px;
border-right: 1px solid #f3f3f3;
text-decoration: none;
>
.menyu-navigatsig li a:hover, .menyu-navigatsig .navigation-btn:hover <
background-color: #636060;
color: #fdf7f7;
>
.menyu-navigatsig .logo <
display: block;
float: left;
font-size: 24px;
padding: 15px 12px;
text-decoration: none;
>
.menyu-navigatsig .navigation <
clear: both;
max-height: 0;
transition: max-height .2s ease-out;
>
.menyu-navigatsig .navigation-icon <
cursor: pointer;
display: inline-block;
float: right;
padding: 28px 20px;
position: relative;
user-select: none;
>
.menyu-navigatsig .navigation-icon .categorua <
background: #333;
display: block;
height: 2px;
position: relative;
transition: background .2s ease-out;
width: 18px;
>
.menyu-navigatsig .navigation-icon .categorua:before,
.menyu-navigatsig .navigation-icon .categorua:after <
background: #333;
content: »;
display: block;
height: 100%;
position: absolute;
transition: all .2s ease-out;
width: 100%;
>
.menyu-navigatsig .navigation-icon .categorua:before <
top: 5px;
>
.menyu-navigatsig .navigation-icon .categorua:after <
top: -5px;
>
.menyu-navigatsig .navigation-btn <
display: none;
>
.navigation <
max-height: 240px;
>
.navigation-icon .categorua <
background: transparent;
>
.navigation-icon .categorua:before <
transform: rotate(-45deg);
>
.navigation-icon .categorua:after <
transform: rotate(45deg);
>
.navigation-icon:not(.steps) .categorua:before,
.menyu-navigatsig .navigation-btn:checked
.navigation-icon:not(.steps) .categorua:after <
top: 0;
>
@media (min-width: 48em) <
.menyu-navigatsig li <
float: left;
>
.menyu-navigatsig li a <
padding: 20px 30px;
>
.menyu-navigatsig .navigation <
clear: none;
float: right;
max-height: none;
>
.menyu-navigatsig .navigation-icon <
display: none;
>
>
PS — здесь нужно добавить, так как при проверки на работоспособность, то решил немного стиль изменить, если на demo странице идет по умолчанию. А вот здесь представлен материал как на закрепленном изображение, где нижнее полоса выставлена, что идет на 2 пикселя, где можно тень убрать или добавить, и также при наведении кардинально цветовая схема изменена.
Источник
Готовим бургер меню на CSS, HTML и JQuery
Готовим бургер меню на CSS, HTML и JQuery
Приправим этот день приятным вкусом гамбургера! Как известно, верстальщики — это особый тип гурманов, который увлеченно прячет вкусняшки в разных частях сверстанной страницы, например, в меню. Вы только посмотрите, как постарался верстальщик, упаковавший такой длинный список пунктов меню в маленький трехэтажный гамбургер. Еще и добавил анимационный спецэффект: начинка из гамбургера высыпается с небольшой задержкой, так что нижний и верхний слои бургера успевают наклониться и образовать крестик!
Предлагаю закодить этот фокус в своем текстовом редакторе! И первым шагом на пути к бургеру будет техническое задание:
Техническое задание:
У нас имеются готовые html и css файлы со стандартным горизонтальным меню в шапке сайта и отличным юзабилити для просмотра страницы на широком экране. В настоящий момент меню выглядит следующим образом:
Текущий HTML-файл:
Текущий CSS-файл:
Шапочка выглядит пустовато: я не стала размещать логотип и другие элементы, чтобы не отвлекаться от работы с меню. Несмотря на это, при сужении экрана пункты меню наползают друг на друга и шапка превращается в хаос. Поэтому нужно для экранов мобильных устройств, то есть для таких гаджетов, у которых ширина менее 768px:
1. Приготовить аппетитный бургер и расположить его в верхней левой части экрана. Бургер должен выглядеть как на изображении ниже:
2. Создать скрипт, реагирующий на клик мыши по иконке бургера. При клике левой кнопки мыши, средний слой должен плавно исчезать, а верхний и нижний слои — менять углы наклона и образовывать крестик.
3. Создать CSS-стили для вертикального меню, которое будет открываться при клике по иконке бургера.
4. Создать анимацию плавного выдвижения вертикального меню из левого края страницы.
В итоге должно получиться адаптивное меню, которое разворачивается в горизонтальную плашку на широких экранах и сворачивается в приятный бургер на экранах мобильных устройств.
Инструменты: HTML, CSS, JQuery
1. Рисуем бургер меню в левом верхнем углу шапки
В соотсветствии с html-структурой, для бургер-меню у нас заготовлен блок с классом «menu-burger__header»:
Над этим блоком мы и поколдуем!
Так как потребность в бургере порождена желанием адаптировать меню к мобильным устройствам, то css-стили для узких экранов шириной менее 768px мы будем записывать внутри медиазапроса: @media(max-width: 767px)
Откроем css-файл и в самом конце файла разместим медиазапрос: «@media(max-width: 767px)< >» Между скобками медиазапроса расположим стили для класса «menu-burger__header»:
В нашем бургере будет 3 слоя. Средний слой практически готов: его образует пара тегов , размещенных в блоке
После этого можно сохранить стили и обновить страницу — бургер создан!
Дополнительно для мобильной версии я уменьшила высоту шапки и немного сдвинула вверх контентную часть:
В результате меню приобрело следующий вид:
Хм.. Бургер выглядит хорошо, однако, сползшее вниз меню мешает получить дозу эстетического удовольствия и требует хотя бы временно скрыть горизонтальное меню с виду. Для этого я внесу дополнение в css стили для узких экранов:
Теперь я довольна результатом и предлагаю двигаться дальше:
2. Пишем скрипт анимации бургера при клике мыши.
Пришло время подключить тяжелую артиллерию, а именно: JQuery! Для этого перед закрывающим тегом
Источник
Почему стоит избегать гамбургерных меню и как это сделать?
Все прекрасно знают о слабых местах этого паттерна, но какое может быть решение?
(Мы продолжаем переводить цикл статей по UX/UI. Полную подборку можно найти в коллекции « Дизайн навигации»)
На сегодняшний день мы располагаем информацией, что боковые меню — так называемые “гамбургерные” меню — вероятно приносят больше вреда, чем пользы.
Вот несколько статей на эту тему:
Имейте в виду, что в этом вопросе много нюансов. Я наблюдал обозначенные в этой статье проблемы в ходе пользовательских тестирований, а кто-то испытывал их на практике.
Я просто прошу вас изучить проблемы и решения, чтобы, отдавая предпочтение этому паттерну, вы были в курсе всех возможных последствий.
Интересуетесь свежими статьями по дизайну? Вступайте в группу на Facebook.
Проблемы гамбургерного меню:
- Низкая обнаруживаемость
- Малая эффективность
- Конфликт с навигационными паттернами платформы
- Малопонятно с первого взгляда
Низкая обнаруживаемость
По умолчанию боковое меню и все его содержимое скрыты.
То есть люди сначала должны обнаружить, что под кнопкой-гамбургером скрываются какие-то функции. Иногда компании добавляют к этой кнопке надпись или тултип “меню”. Это естественно и даже необходимо — ведь человек не будет искать скрытые возможности, если основные функции уже представлены на главном экране.
Малая эффективность
Даже если люди знают и любят эту функцию, факт остается фактом: такой паттерн нарушает плавность навигации, вынуждая пользователя сначала открыть меню и только получить доступ к интересующей его функции.
Ниже вы видите яркий пример того, насколько мгновенной может быть навигация, когда все навигационные элементы расположены на виду.
Конфликт с навигационными паттернами платформы
Однако самой важной проблемой является то, что на некоторых платформах (вроде iOS) не получится реализовать гамбургерное меню без конфликта со стандартным паттерном навигации.
Самая левая кнопка навигационной панели отводится под гамбургерное меню, но нам нужно дать пользователю возможность вернуться назад. Дизайнеры либо перегружают панель навигации как показано выше — не оставляя места даже для заголовка страницы, либо заставляют пользователей пробираться через несколько экранов, чтобы открыть меню:
Малопонятно с первого взгляда
Вам будет сложнее предоставить пользователю информацию о конкретном элементе, если он будет виден, только когда пользователь открывает меню в поисках другого элемента.
Можно сделать как в приложении Jawbone Up: показывать иконку, отражающую суть уведомления рядом с кнопкой бокового меню.
Этот подход не очень хорошо масштабируется, так как связан с созданием большого количества специальных иконок, а вам, как дизайнеру, иногда придется пользоваться стандартными иконками, несущими в себе меньше смысла.
А вот противоположный пример — панель вкладок Твиттера, которая показывает пользователю контекст уведомления и дает возможность сразу перейти на соответствующий экран.
Осознание проблемы
Может показаться, что вы обязаны делать все это, чтобы сэкономить побольше экранного пространства, но мы зачастую неправильно понимаем, что люди видят на самом деле. Вам может казаться, что люди видят все, что у них перед глазами, а на деле у нас у всех есть некая зона концентрации, даже если размер экрана минимален (1).
Поэтому вопрос экономии экранного пространства может быть решен без нанесения ущерба навигации — и в соответствии с базовыми принципами HCI (человеко-компьютерного взаимодействия), которые требуют от нас предоставления обратной связи и отображения состояния приложения.
На заметку: возможно вам нужно освежить свое понимание принципов HCI — я почти уверен, что это поможет избежать множества дизайнерских ошибок, которые делают люди с визуальным подходом к дизайну.
Решение
Мы много говорили о проблеме, но решение до сих пор не ясно.
Когда можно использовать гамбургерное меню?
В некоторых очень редких случаях этот паттерн действительно оправдан, но в общем и целом стоит избегать его использования.
IRCCloud — пример оправданного (в какой-то мере) использования кнопки-гамбургера: с ее помощью осуществляется навигация между каналами и участниками каналов.
Это приемлемо, так как у основного экрана нет никаких дочерних экранов, которым нужна иерархическая навигация; все содержимое представлено в модальном виде.
Но даже в этом случае видно, что интерфейс перегружен, а информационная архитектура требует пересмотра.
Боковое меню, отображающее участников каналов (справа), занимает место action-кнопки, под которой могли бы скрываться все действия, имеющие отношение к каналам. Вместо этого, дизайнерам пришлось смешать все возможные действия (имеющие отношение к каналам, сети и аккаунту) в одно action-меню:
Это плавно подводит нас к следующему разделу статьи:
Чем заменить кнопку-гамбургер?
Паттерн бокового меню влечет за собой плохую информационную архитектуру: кнопка-гамбургер представляет собой еще один элемент интерфейса, в котором не просматривается никакая последовательность действий — до тех пор, пока люди им не воспользуются.
“Решение — в обновлении информационной архитектуры”.
На рисунках выше приведен пример того, как можно избежать бокового меню. Цветные точки помогут вам отследить, как были реорганизованы элементы интерфейса.
- Состояние представлено на вкладке Сообщения
- Элементы интерфейса всегда видны и доступны
- Нет конфликта между жестами навигации
В дополнение к тому, что мы решили основные проблемы, мы можем выиграть немного вертикального пространства, если спрячем панель навигации приложения при скроллинге вниз (см. пример Facebook, но это также используется и в Safari). Панель вкладок остается на своем месте, что позволяет нам пользоваться навигацией, даже когда панель навигации приложения спрятана.
Если у вас минималистическое настроение, возможно, будет достаточно и панели инструментов. Суть в том, чтобы вынести на видное место навигацию, дать прямой доступ к функциям, избежать конфликта между жестами навигации и отобразить оповещения на тех иконках, к которым они относятся.
[ Обновление] В случае с веб-сайтами, вам также стоит пересмотреть информационную архитектуру, но вместо использования этих iOS-паттернов рекомендую отображать навигацию сверху, в виде списка: пример. Если будет очевидно, что это навигация сайта, люди обязательно проскролят дальше и сразу увидят все остальные доступные варианты.
Кроме того, возвращаясь к теме веб-сайтов на мобильных устройствах: не забудьте убрать 300-милисекундную задержку нажатия при помощи этих советов или с использованием сенсорных событий.
Как это все масштабируется?
Я здесь привожу примеры iOS интерфейсов — лучшим решением на них является использование панели со вкладками или инструментами.
Но что, если на вашей панели вкладок больше 5 элементов?
В таких ситуациях первое, что вам нужно сделать, — это все-таки пересмотреть информационную архитектуру приложения. Но если все-таки приходится выйти за пределы пяти вкладок, обычно применяется такой метод: последняя вкладка дает доступ к списку оставшихся опций.
Можете также реализовать прокручиваемую панель инструментов, как у Rookie. Это позволит вам избежать проблем гамбургерного меню ценой чуть более высокой сложности навигации с большей вероятностью ошибки (в силу того, что приложению придется различать нажатия и прокручивания инструментов).
Имейте в виду, что второе решение больше подходит для списка действий, нежели для элементов навигации.
Такая реализация сталкивается другой проблемой: после прокрутки панель инструментов остается в неопределенном состоянии. Rookie прячут панель после того, как пользователь выбирает одно из действий — обрезать, повернуть и т.п. Таким образом, неопределенное состояние панели “обнуляется”, и при повторном открытии она отображается в изначальном состоянии.
Заключение
Итак, вы прочитали статью о проблемах паттерна боковой панели и о их решении в рамках iOS, которые были заложены в систему с самого начала.
Надеюсь, статья была вам полезна и понятна. Если у вас есть комментарии, пишите мне в Твиттер.
[ Обновление] Фидбэк по этой статье был невероятным! Более 24 тысяч читателей и, что еще важнее, классные обсуждения в Твиттере. Я сделал подборку клевых твитов на Storify. Кажется, что тема гамбургерного меню остается открытой в контексте Андроида, а особенно в части навигационных паттернов для Веб.
Другие статьи и твиты на эту тему:
Если вам понравилась статья и перевод, дайте нам знать — нажмите кнопку Recommend
А если у вас есть на примете какая-нибудь классная статья по UX и не только — скиньте нам ссылку, и мы будем рады над ней поработать.
Мобильное приложение «Заметки о психике» | Mental Notes
Подкидывает идеи, как привлечь, удержать и направить внимание пользователя.
Mental notes — это колода из 53 карточек с описанием психофизиологических моделей поведения людей, которые лежат в основе принципов веб-дизайна. Они помогают дизайнерам, проектировщикам лучше понять поведение пользователей и найти эффективные решения при создании дизайна интерфейсов.
Источник