Выпадающее меню на чистом CSS
Категория: Сниппеты с кодом
Продолжим развлекаться с менюшками и сегодня создадим простое выпадающее меню на чистом CSS&HTML.
Перед тем как приступить, предлагаю сразу взглянуть на конечный результат (Codepen).
1. HTML код
<ul> <li><a href="#">Главная</a></li> <li><a href="#">Категории</a> <ul> <li><a href="#">Ссылка 1</a></li> <li><a href="#">Ссылка 2</a></li> <li><a href="#">Ссылка 3</a></li> </ul> </li> <li><a href="#">О сайте</a> <ul> <li><a href="#">Ссылка 1</a></li> </ul> </li> <li><a href="#">Контакт</a></li> </ul>
Создадим обычный список (Unordered List) и добавим к двум пунктам – субменю в виде еще двух вложенных списков.
2. CSS
#menu { background: #c0392b; width: 100%; padding:0; text-align: center; float:left; border-bottom: 6px solid #e74c3c; } #menu a { color: #fff; text-decoration: none; } #menu a:hover { color: #ccc; } #menu ul { padding:0; margin:0; } #menu li { list-style: none; padding: 0 15px 0 0; width:100px; margin: 0 auto; float:left; line-height: 50px; } #menu li ul { position:absolute; display: none; } #menu li ul li { float: none; display: inline; width:100px; line-height:35px; } #menu li ul li:hover { background: #c0392b; } #menu li:hover ul { display:block; } #menu li ul li { display: block; background:#e74c3c; }
Главное, на что стоит обратить внимание в CSS части, то что выпадающее меню изначально скрыто (display:none) и появляется только при наведения курсора (li:hover ul).
Поэкспериментировать с кодом можно, как всегда, в песочнице на Codepen.
Опубликовано
30 классных уроков создания CSS меню
CSS сегодня — штука жизненно важная для веб-дизайна. Дежурка периодически публикует переводы интересных статей и уроков по CSS. Однако, хороших материалов много, и чтобы перевести их все, потребуется куча времени. Сегодняшняя подборка — для тех, кто дружит с английским языком или уже достаточно разбирается в вопросе, чтобы понять суть статьи по коду и демо-примерам. Это подборка неплохих туториалов по созданию навигационного меню на CSS. Используя приемы или их элементы, изложенные в этих уроках, вы сможете добавить динамики своему сайту, придать ему современный стильный вид. Некоторые из этих туториалов мы впоследствии переведем и опубликуем в нашем журнале.
Выпадающее меню на CSS
How-to: DropDown CSS Menu
Демо
Выпадающие странички на CSS
How to Build a Kick-Butt CSS3 Mega Drop-Down Menu
Демо
Отличное горизонтальное выпадающее меню на CSS
A Great CSS Horizontal Drop-Down Menu
Демо
Создаем раскрывающийся при нажатии header
Designing the Digg Header: How To & Download
Демо
Меню-гармошка с изображениями на Jquery
Image Menu with Jquery
Демо
Горизонтальное меню на чистом CSS
Демо
Создайте выпадающее меню с подпунктами на CSS и немножко JavaScript
Create your own drop down menu with nested submenus using CSS and a little JavaScript
Демо
CSS-спрайты, время для JavaScript
CSS Sprites2 – It’s JavaScript Time
Демо
Как сделать простое выпадающее меню на CSS3
How To Create A Simple Drop Down Menu With CSS3
Демо
Классное меню на CSS
Advanced CSS Menu
Демо
Стильное меню из опускающихся квадратов с изображениями на CSS
Slide Down Box Menu with jQuery and CSS3
Демо
Гранжевое меню с пунктами, выдвигающимися под разными углами
Grungy Random Rotation Menu with jQuery and CSS3, к сожалению, в Опере 11. 60 поворот работать не будет.
Демо
Делаем клёвую анимированную навигацию на jQuery и CSS
Create a Cool Animated Navigation with CSS and jQuery
Демо
Горизонтальное меню на CSS
CSS UL LI – Horizontal CSS Menu
Делаем забавное анимированное навигационное меню на чистом CSS
Create a Fun Animated Navigation Menu With Pure CSS
Демо
Как сделать CSS-меню на спрайтах
How to Make a CSS Sprite Powered Menu
Дополнительные CSS-штучки для меню
Advanced CSS Menu Trick
Демо
Анимированные вкладки
Animated horizontal tabs
Демо
Меню в стиле фиш-ай на чистом СSS
Pure CSS Fish Eye Menu
Демо
Красивая навигация табами на CSS
Sweet tabbed navigation using CSS3
Демо
Делаем простую стильную навигацию с помощью CSS Jquery
Creating a Simple yet Stylish CSS Jquery Menu
Демо
Горизонтальные вкладки в два уровня на jQuery
jQuery Drop Line Tabs
Демо
Честное выпадающее меню на CSS без хаков и javascript
CSS dropdown menu without javascripting or hacks
Демо
Горизонтальное меню с иконками на CSS
Horizontal CSS Menu With Icons
Демо
Делаем говорящее меню навигации на чистом CSS
Create A Speaking Block Navigation Menu Using Pure CSS
Делаем анимированное меню на CSS
Making a CSS3 Animated Menu
Демо
Горизонтальный список — меню на CSS
Horizontal CSS List Menu
Как сделать анимированное меню на CSS
Making a CSS3 Animated Menu
Демо
Как сделать красивую навигационную панель на CSS3
How To Create A Clean CSS3 Navigation Bar
Демо
Подборка stylishwebdesigner. com
- Опубликовано в css, января 3, 2012
- Метки: css, меню, навигация
Tweet
�
Комментарии
10 фрагментов кода CSS и JavaScript для создания адаптивных навигаций
Одна из самых сложных частей хорошего адаптивного сайта — это навигация. Это может занять некоторое время, чтобы понять, и есть много руководств, которые помогут с этим. Но я также являюсь поклонником использования фрагментов кода, подобных тем, которые мы собрали для этой статьи.
Все эти адаптивные фрагменты навигации можно бесплатно редактировать и клонировать для своих собственных проектов. Они также имеют различные стили, поэтому здесь найдется что-то, что подойдет для всех типов веб-сайтов.
Дополнительные фрагменты меню и навигации CSS
1. Адаптивный полностраничный макет
от Johnny MangoЭтот адаптивный пример показывает, как далеко вы можете зайти на этапе прототипирования веб-сайта. Вы заметите, что у навигации есть интересная функция, когда вы наводите курсор и автоматически фокусируетесь на ссылках. Этот эффект можно изменить на «живом» веб-сайте с той же навигацией, но в этом примере полезно показать UI/UX страницы.
См. демонстрацию адаптивной навигации с помощью пера с Kube от Johnny Mango
2.
Выпадающая панель навигации от Tania RasciaЕсли вам нужны более длинные выпадающие элементы в навигации, это меню может работать лучше. Это сильная альтернатива более простой навигации, в которой есть только несколько пунктов меню. В этом случае вы найдете простой список ссылок с очень маленьким раскрывающимся списком. Ссылки подменю появляются только в событии щелчка, которое обрабатывается jQuery. Вы можете изменить это на использование только CSS, но вы потеряете триггер щелчка.
Тем не менее, при таком чистом дизайне я удивлен тем, насколько универсально этот фрагмент предлагает разработчикам.
См. выпадающую панель навигации, реагирующую на перо, автор Tania Rascia
3. Одностраничный макет
, автор Jan CzizikowОдностраничные навигационные меню нуждаются в любви, как и любые другие. Это прекрасный пример одностраничной навигации в действии. Ссылки прокручиваются вниз с плавной анимацией, но не заставляют вас долго ждать.
Не говоря уже о том, что они автоматически изменяют размер до идеального размера независимо от размера вашего браузера. Я бы в основном рекомендовал этот тип навигации для страницы продаж или простого сайта-портфолио. Он чистый и имеет отличные функции анимации наряду с адаптивными методами.
See the Pen Полностью адаптивная навигация с анимацией CSS и jQuery от Jan Czizikow
4. Красное выпадающее меню
от Stéphanie WalterРазработчик Стефани Уолтер создала несколько интересных проектов для Интернета. Этот фрагмент — всего лишь один пример с ярко-красной отзывчивой навигацией.
Ссылки стали немного более эффектными, с пользовательской функцией выбора и приятным эффектом наведения для загрузки. При изменении размера вы заметите, что в навигации вместо этого используется скользящее раскрывающееся меню. Я бы почти выбрал блочный список ссылок для мобильных устройств, но это работает намного лучше, учитывая подменю.
См. многоуровневую адаптивную навигацию Pen от Stéphanie Walter
5. Дизайн на чистом CSS
от Ahmad HjazyВот уникальный дизайн с использованием чистого CSS для навигации. Это вертикальное меню с навигационными ссылками, имитирующими периодическую таблицу элементов.
Эффекты наведения немного запаздывают, но несомненно интересны. Не говоря уже о том, что адаптивный стиль удивительно удобен. Возможно, наиболее впечатляющей частью является то, что весь этот пример использует исключительно CSS 9.0008 .
См. Адаптивное меню навигации Pen CSS от Ahmad Hjazy
6. Адаптивный липкий заголовок
от Marc LibunaoЯ упоминал одностраничный дизайн в предыдущем фрагменте, и этот адаптивный заголовок следует той же траектории. Единственное отличие состоит в том, что эта навигация имеет немного больший блок на странице и немного по-другому обрабатывает адаптивный дизайн страницы.
Когда вы измените размер браузера, вы заметите, что в этом примере используется значок гамбургера с забавной анимацией. Это хорошо, учитывая стиль, но это может быть не для всех.
См. перо Адаптивная липкая навигация по заголовку от MarcLibunao
7. Отзывчивая и удобная для сенсорного ввода
от DragoecoВсе хорошие веб-сайты по умолчанию должны быть сенсорными, и это делает эту навигацию еще более привлекательной для дизайнеров.
Каждая ссылка ведет на новую страницу, но вы можете легко наводить курсор на раскрывающееся меню на любом сенсорном устройстве. Эта функция часто отсутствует в навигационных меню, и это одна из причин, по которой выпадающие списки могут быть сложными в разработке.
См. выпадающую навигацию с помощью пера: отзывчивая и удобная для сенсорного управления от Dragoeco
8. Простые навигационные ссылки
от AnabolicHippoКогда я думаю о простых навигационных меню, я думаю о таком дизайне. Каждая ссылка отображается как отдельный элемент блока даже на небольших экранах. Здесь нет гамбургер-меню и функции скрытого анимированного меню. Вместо этого ссылки изменяются в размере и разбиваются на отдельные строки.
Самая сложная часть — обработка раскрывающегося списка на мобильных устройствах. У многих ссылок есть подменю, и они будут работать одинаково на небольших экранах.
Я бы сказал, что это лучше всего работает для сайтов с небольшим количеством подменю или без них, но стоит попробовать на мобильных устройствах, чтобы узнать, что вы думаете об этом опыте.
См. адаптивное меню навигации с помощью пера от AnabolicHippo
9. Меню занавеса Playstation
от Луи ШенеРазработчик Луи Шене создал одну из моих любимых адаптивных навигаций на основе веб-сайта PlayStation. Луис называет это «занавесом меню», когда оно скользит в поле зрения, занимая всю страницу. Это характерно для мобильных интерфейсов и быстро стало популярным и среди веб-дизайнеров.
Что мне действительно нравится, так это стиль анимации. Он гладкий и достаточно быстрый, чтобы отображать ссылки, не заставляя пользователей скучать. И самое главное, это похоже на то, что это может работать на рабочем веб-сайте.
См. принцип адаптивной навигации №3 — меню «Занавес» Луи Шене
10. Адаптивное мега-меню
Самир ЭллиВы можете поискать в Интернете и найти сотни примеров мега-меню навигации. Обычно они появляются в крупных блогах и на новостных сайтах, но также популярны в магазинах электронной коммерции или на сайтах крупных агентств. Самая сложная часть мегаменю — сделать его полностью адаптивным. Благодаря этому небольшому фрагменту вы можете легко изменить дизайн мегаменю, чтобы он подходил для любого экрана.
На мобильных устройствах используется скользящая навигация для отображения всех внутренних ссылок в одном меню. Это может показаться немного раздражающим, но вы также можете использовать jQuery, чтобы скрыть подссылки, если это имеет смысл. Это по-прежнему одно из лучших адаптивных решений, которое я видел для запуска мегаменю на рабочем столе, не отталкивая мобильных пользователей.
См. Pen Responsive Mega Menu – Navigation by samir alley
Эта страница может содержать партнерские ссылки. Без каких-либо дополнительных затрат для вас мы можем получать комиссию с любой покупки по ссылкам на нашем сайте. Вы можете ознакомиться с нашей Политикой раскрытия информации в любое время.
Простое адаптивное гамбургер-меню в 3 шага на чистом CSS
Последнее обновление: 7 марта 2022 г.
Добро пожаловать в учебник о том, как создать простое адаптивное меню гамбургер на чистом CSS. Да, в Интернете есть множество других гамбургер-меню, но некоторые из них по-прежнему требуют использования Javascript. Итак, вот оно, меню, созданное исключительно с помощью CSS, без единой строки Javascript. Читайте дальше, чтобы узнать, как его построить!
ⓘ Я включил zip-файл со всем исходным кодом в начале этого урока, так что вам не нужно копировать и вставлять все… Или если вы просто хотите сразу погрузиться.
Адаптивное меню с использованием HTML и CSS …
Пожалуйста, включите JavaScript
Адаптивное меню с использованием HTML и CSS с (исходным кодом)
СОДЕРЖАНИЕ
Загрузка и демонстрация | Как построить | Полезные биты |
Обучающее видео | Конец |
СКАЧАТЬ И ДЕМО
Во-первых, вот ссылка на скачивание примера кода, как и было обещано.
БЫСТРЫЕ ЗАМЕЧАНИЯ
Если вы заметили ошибку, не стесняйтесь комментировать ниже. Я тоже стараюсь отвечать на короткие вопросы, но это один человек против всего мира. .. Если вам срочно нужны ответы, пожалуйста, посмотрите мой список сайтов, где можно получить помощь по программированию.
ЗАГРУЗИТЬ ПРИМЕР КОДА
Нажмите здесь, чтобы загрузить исходный код, я выпустил его под лицензией MIT, так что не стесняйтесь строить на его основе или использовать в своем собственном проекте.
МЕНЮ ГАМБУРГЕРОВ ДЕМО
Продолжайте. Измените размер окна и посмотрите на гамбургер-меню в действии.
☰
Первый Второй Третий Четвертый
КАК СОЗДАТЬ ГАМБУРГЕР-МЕНЮ
В наши дни создать гамбургер-меню с помощью современного CSS не так уж и сложно…
ШАГ 1) HTML
index.html
<навигация>
Часть HTML должна быть довольно простой:
- Сначала мы создаем оболочку для меню навигации
.
- С последующим использованием
☰
— это HTML-символ для «значка гамбургера с тремя линиями». - Наконец, мы помещаем пункты меню .
Вот и все, JavaScript не используется.
ШАГ 2) CSS ДЛЯ БОЛЬШИХ ЭКРАНОВ
ham-menu.css
/* [НА БОЛЬШОМ ЭКРАНЕ] */ /* (А) Обертка */ #хамнав { ширина: 100%; фон: #000; } /* (B) ГОРИЗОНТАЛЬНЫЕ ПУНКТЫ МЕНЮ */ #hamitems { display: flex; } #hamitems а { гибкий рост: 1; flex-основа: 0; отступ: 10 пикселей; белый цвет; текстовое оформление: нет; выравнивание текста: по центру; } #hamitems a:hover { background: #af0d0d; } /* (C) СКРЫТЬ ГАМБУРГЕР */ #hamnav label, #hamburger { display: none; }
В CSS происходит все волшебство.
- Не требующее пояснений меню навигации во всю ширину экрана.
- Затем мы устанавливаем
#hamitems
наdisplay: flex
. Добавлениеflex-grow: 1
иflex-basis: 0
к пунктам меню автоматически разместит их одинаково. - Поскольку значок гамбургера на большом экране нам не нужен, мы его скрываем, прикрепив 9Дисплей 0206: нет от до
#hamnav label
и#hamburger
.
Вот собственно и вся важная механика на большом экране, и теперь у нас есть работающая горизонтальная панель навигации.
ШАГ 3) ОТВЕТСТВЕННЫЙ CSS ДЛЯ МАЛЕНЬКИХ ЭКРАНОВ
ham-menu.css
/* [НА МАЛЕНЬКИХ ЭКРАНАХ] */ Экран @media и (максимальная ширина: 768 пикселей){ /* (A) ПЕРЕРЫВ В ВЕРТИКАЛЬНОЕ МЕНЮ */ #hamitems а { box-sizing: граница-коробка; дисплей: блок; ширина: 100%; верхняя граница: 1px сплошная #333; } /* (B) ПОКАЗАТЬ ЗНАЧОК ГАМБУРГЕР */ #хамнав лейбл { отображение: встроенный блок; белый цвет; фон: #a02620; стиль шрифта: обычный; размер шрифта: 1. 2em; отступ: 10 пикселей; } /* (C) ПЕРЕКЛЮЧИТЬ ПОКАЗАТЬ/СКРЫТЬ МЕНЮ */ #hamitems { display: none; } #hamnav input:checked ~ #hamitems { display: block; } }
Наконец, мы добавим некоторые изменения стиля на маленьком экране, чтобы сделать отзывчивое волшебство:
- Превратите горизонтальное меню в вертикальное, добавив
#hamitems a { width: 100% }
- Показать значок гамбургера с
#hamnav label { display: inline-block }
.- Обратите внимание: мы показываем только ярлык для гамбургера
, флажок
остается скрытым. - Флажок будет по-прежнему работать, когда пользователь нажимает на
этикетка
.
- Обратите внимание: мы показываем только ярлык для гамбургера
- Немного сбивает с толку, но именно здесь происходит волшебство.
- По умолчанию
#hamitems { display: none; }
скроет пункты меню. -
#hamnav input:checked ~ #hamitems { display: block; }
на простом английском языке — Показать пункты меню, когда установлен флажок скрытого
- По умолчанию
КЛИПАЯ ПЛОЩАДКА МЕНЮ
Хотите, чтобы строка меню постоянно фиксировалась в верхней части экрана, когда пользователь прокручивает страницу вниз на вашем веб-сайте? Просто добавьте
position: прикрепите
к панели навигации, и это должно сделать волшебство.theme.css
#hamnav { положение: липкое; сверху: 0; }
Но это, вероятно, вызовет больше проблем на маленьком экране, поэтому используйте его с умом.
БОЛЬШОЙ ГАМБУРГЕР?
Значок гамбургера является символом HTML. Да, изменить размер так же просто, как установить
label[for="hamburger"] { font-size: XX em }
.Я ХОЧУ ВЫПАДАЮЩИЕ ПРЕДМЕТЫ!
Это больше не будет «просто», но не стесняйтесь бросить себе вызов…
- Выпадающее меню с чистым CSS – Code Boxx
- Многоуровневый выпадающий список? Это больше похоже на древовидное меню — Code Boxx
ПРОВЕРКА СОВМЕСТИМОСТИ
- CSS Flexbox – CanIUse
- Селектор братьев и сестер CSS — CanIUse
Это меню-гамбургер прекрасно работает во всех современных браузерах.