Товаров: 0 (0р.)

Меню выдвигающееся css: Как сделать всплывающее меню при наведении

Содержание

меню » Скрипты для сайтов

4 845 Codepen

Боковое выезжающее меню

При клике на иконку стрелки выезжает боковая панель с навигацией. Анимация сделана с помощью GSAP.

7 519 Скрипты / Menu & Nav

Эффект зачеркивания при наведении в меню

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

16 748 Скрипты / Menu & Nav

Slinky — адаптивное многоуровневое меню

Легкий адаптивный плагин многоуровневого меню. Меню больше подходит для отображений на мобильных устройствах.

5 268 Скрипты / Menu & Nav

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

Небольшой скрипт, который поможет в создании более эстетического адаптивного горизонтального меню. Если размер экрана не позволяет отобразить все пункты горизонтального меню, то данный скрипт перемещает эти пункты в выпадающее меню — «три точки». Использование этого скрипта, позволит отображать адаптивную иконку (гамбургер), тогда, когда вы сами это решите, так как меню теперь будет всегда смотреться аккуратно.

8 887 Скрипты / Menu & Nav

Slide out sidebar меню

  Плавно выдвигающееся меню боковой панели. Реализации данного меню уже несколько лет, однако мы решили вспомнить о нём и прикрутить иконки font-awesome, шрифт roboto и обновить modernizr.

6 852 Скрипты / Menu & Nav

Mega dropdown меню

Mega dropdown меню — jQuery плагин для реализации большого выпадающего меню с множеством подкатегорий для сайтов с большим количеством контента.

12 797 Скрипты / Accordion

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

Вертикальное многоуровневое меню типа аккордеон, раскрывающееся по клику на стрелке.  

4 677 Скрипты / Accordion

Flat accordion menu — вертикальный аккордеон

Вертикальное раскрывающееся меню типа аккордеон в стиле flat design. Простое в понимании и стилизации.

5 635 Скрипты / Menu & Nav

Диагональное меню на CSS

Используя возможности CSS3 в этом уроке сделаем диагональное меню, и напишем media queries, чтобы придать ему адаптивности.

3 802 Скрипты / Menu & Nav

Lavalamp меню на CSS3

Скользящий эффект для меню при наведении, который более известен, как lavalamp эффект. Эффект реализован только на CSS с помощью transitions и селектора ~.

4 373 Скрипты / Menu & Nav

Анимированный border с меню

Создание off-canvas (вне основной страницы) навигации с анимированным border эффектом.

14 581 Скрипты / Menu & Nav

Адаптивное много-уровневое меню

Сегодня сделаем адаптивное много-уровневое меню. Для мобильной версии добавим несколько строчек jаvascript кода. Для лучшего восприятия пунктов навигации, добавим для каждого иконки, воспользовавшись уже знакомым нам по предыдущим урокам — font-awesome.css

CSS меню. Выпадающее меню. Горизонтальное CSS меню. Вертикальное CSS меню.

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Я решил создать новую рубрику Создание и оформление сайтов, в этой рубрике будет много вкусного и интересного. Поскольку, здесь я буду писать о реальных примерах. Тема сегодняшней публикации — создание CSS меню, 

которая находится в разделе CSS меню.

Любое CSS меню должно отвечать нескольким требованиям: CSS меню должно быть удобным, компактным, доступным для пользователя. Чтобы меню сайта было компактным и удобным его следует делать выпадающим. Конечно, выпадающее CSS меню не будет корректно работать в старых браузерах таких как IE6. Выпадающее меню удобно тем, что не занимает много места на веб-странице. В данном примере не будет использоваться JavaScript и библиотека JQuery — а это означает, что выпадающее меню будет доступно для пользователей, у которых в настройках браузера отключены скрипты.

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

Создание CSS меню. Создание выпадающего меню. Шаг 1 — создаем вертикальное HTML меню.

Содержание статьи:

Для начала мы создаем маркированный HTML список при помощи тега <ul> и тега <li>:

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> <html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>Создание CSS меню</title> </head> <body> <span><span><> </span></span><ul> <li>Первый пункт</li> <li>Второй пункт <ul> <li>Первый подпункт</li> <li>Второй подпункт</li> </ul> </li> <li>Третий пункт <ul> <li>Первый подпункт</li> <li>Второй подпункт</li> <li>Третий подпункт</li> </ul> </li> <li>Четвертый пункт</li> </ul> </body> </html>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.

01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»>

<html>

<head>

<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″>

<title>Создание CSS меню</title>

</head>

<body>

<span><span><>

</span></span><ul>

<li>Первый пункт</li>

<li>Второй пункт

<ul>

<li>Первый подпункт</li>

<li>Второй подпункт</li>

</ul>

</li>

<li>Третий пункт

<ul>

<li>Первый подпункт</li>

<li>Второй подпункт</li>

<li>Третий подпункт</li>

</ul>

</li>

<li>Четвертый пункт</li>

</ul>

</body>

 

</html>

Примерно должно получиться что-то типа такого списка:

  • Первый пункт
  • Второй пункт
    • Первый подпункт
    • Второй подпункт
  • Третий пункт
    • Первый подпункт
    • Второй подпункт
    • Третий подпункт
  • Четвертый пункт

Конечно, это еще не меню и даже не навигация, поскольку ни один из пунктов HTML списка не является ссылкой. Теперь нужно сделать каждый пункт нашего HTML списка ссылкой. Таким образом, у нас получится вертикальное HTML меню, таблицу стилей (css) мы еще пока не будем трогать и подключать. Чтобы пункты HTML списка стали ссылками, содержимое каждого элемента <li> внутрь тега <a>:

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> <html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>Создание CSS меню</title> </head> <body> div> <ul> <li><a href=»#»>Первый пункт</a></li> <li><a href=»#»>Второй пункт</a> <ul> <li><a href=»#»>Первый </a></li> <li><a href=»#»>Второй </a></li> <li><a href=»#»>Третий </a></li> </ul> </li> <li><a href=»#»>Третий пункт</a> <ul> <li><a href=»#»>Первый подпункт</a></li> <li><a href=»#»>Второй подпункт</a></li> </ul> </li> <li><a href=»#»>Четвертый пункт</a></li> </ul> <div> </body> </html>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4. 01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»>

<html>

<head>

<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″>

<title>Создание CSS меню</title>

</head>

<body>

div>

<ul>

<li><a href=»#»>Первый пункт</a></li>

<li><a href=»#»>Второй пункт</a>

<ul>

<li><a href=»#»>Первый </a></li>

<li><a href=»#»>Второй </a></li>

<li><a href=»#»>Третий </a></li>

</ul>

</li>

<li><a href=»#»>Третий пункт</a>

<ul>

<li><a href=»#»>Первый подпункт</a></li>

<li><a href=»#»>Второй подпункт</a></li>

</ul>

</li>

<li><a href=»#»>Четвертый пункт</a></li>

</ul>

<div>

</body>

 

</html>

Теперь мы получили вертикальное HTML меню. У тега <a> есть атрибут href, в котором следует указывать адрес страницы, на который будет вести ссылка, у меня нет необходимости этого делать, поэтому в качестве адреса я указал символ # или забой. Ссылки, у которых в качестве значения атрибута href указан #, никуда не ведут. Обратите внимание: вертикальной HTML меню я поместил в контейнер <div>, поскольку в спецификации HTML 4 есть правило: внутри элемента <body> могут находиться только блочные элементы и элементы <ins> и <del>. У тега <div> есть один атрибут id со значением «block». У корневого тега <ul> есть атрибут id со значением «hnav», этот атрибут потребуется нам для создания вертикального и горизонтального CSS меню.

Создание CSS меню. Выпадающее меню. Шаг 2 — создаем горизонтальное CSS меню.

Далее мы будем задавать стили CSS для нашего будущего меню. Для начала, давайте зададим стиль для контейнера <ul> со значением hnav атрибута id, то есть общий стиль для нашего выпадающего меню:

#hnav { list-style: none; margin: 0; padding: 0; font-size: 1.2em; float: right; position: relative }

#hnav {

list-style: none;

margin: 0;

padding: 0;

font-size: 1.2em;

float: right;

position: relative

 

}

Давайте коротко пройдемся по CSS свойствам и посмотри для чего они нужны. Первое CSS свойство, которое было задано list-style со значением none, данное свойство позволяет избавиться от мерзких маркеров HTML списка, но только для родительских пунктов вертикального меню, у дочерних HTML элементов маркеры останутся.

Свойство margin делает нулевым отступ от края элемента ul. Свойство paddin убирает внутренние отступы HTML элемента ul. Свойство font-size задает размер текста пунктов нашего CSS меню. Свойство float позволяет выравнять CSS меню, в нашем случае по правому краю. Свойство position со значение relative позиционирует контейнер ul относительно его исходного места.

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

#hnav li { float: left; position: relative; }

#hnav li {

 

float: left;

 

position: relative;

 

}

Для каждого элемента li, которые находятся внутри контейнера ul мы задаем два свойства: float со значением left (тем самым мы добиваемся того, что наше CSS меню стало горизонтальным) и опять же, задаем свойство position со значением relative, чтобы элементы заняли свое место.

Теперь мы можем задать стили, для содержимого контейнеров li, то есть стили для пунктов горизонтального CSS меню:

#hnav li a{ float: left; display: block; padding: 4px; text-decoration: none; color: #666; text-transform: uppercase; margin-right: 10px; }

#hnav li a{

float: left;

display: block;

padding: 4px;

text-decoration: none;

color: #666;

text-transform: uppercase;

margin-right: 10px;

}

Свойство display имеет значение block, это говорит нам о том, что пункты нашего CSS меню будут вести себя как блочные (в данном случае контейнеры <a>, тег <a> сам по себе строчный элемент). Свойство padding устанавливает внутренние отступы между пунктами меню, чтобы те не накладывались друг на друга. Значение none свойства text-decoration позволяет убрать подчеркивание у ссылок(меню же из ссылок состоит). Свойство color задает цвет текста внутри контейнера <a>. Свойство text-transform: uppercase; задает начертание текста нашего CSS меню, а именно, весь текст будет написан прописными буквами.

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

#hnav li:hover a, #hnav li a:hover { background: #999; color: #fff; }

#hnav li:hover a,

#hnav li a:hover

{

background: #999;

color: #fff;

}

Свойство color изменяет цвет текста пункта меню при наведение на него курсора мыши. Свойство background задает цвет фона пункта CSS меню при наведение курсора на пункт.

Теперь мы можем «спрятать» вложенные пункты меню:

#hnav ul {display: none;}

#hnav ul {display: none;}

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

#hnav li:hover ul {display: block;} #hnav ul { float: none; position: absolute; list-style: none; margin: 0; padding: 0; top: 1. 8em; left: 0; } #hnav ul li { float: none; clear: none; margin: 0; padding: 0; width: auto; color: #999; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

#hnav li:hover ul {display: block;}

 

#hnav ul

{

float: none;

position: absolute;

list-style: none;

margin: 0;

padding: 0;

top: 1.8em;

left: 0;

}

 

#hnav ul li

{

float: none;

clear: none;

margin: 0;

padding: 0;

width: auto;

color: #999;

}

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

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

#hnav li:hover ul li a, #hnav ul li a { line-height: 200%; display: block; padding: 0 6px 0 0; float: none; text-transform: lowercase; color: #999; background: none; } #hnav li:hover ul li a:hover, #hnav ul li a:hover { background: none; color: #000; } <span>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#hnav li:hover ul li a,

#hnav ul li a

{

line-height: 200%;

display: block;

padding: 0 6px 0 0;

float: none;

text-transform: lowercase;

color: #999;

background: none;

}

 

#hnav li:hover ul li a:hover,

#hnav ul li a:hover

{

background: none;

color: #000;

}

 

<span>

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

Так будет выглядеть горизонтальное выпадающее CSS меню:

Горизонтальное CSS меню. Выпадающее CSS меню.

Создание CSS меню. Выпадающее меню. Шаг 3 — создаем вертикальное CSS меню.

Приступим к созданию вертикального CSS меню. Для начала создаем маркированный HTML список, точно такой же, как и для горизонтального меню:

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> <html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>Создание CSS меню</title> </head> <body> div> <ul> <li><a href=»#»>Первый пункт</a></li> <li><a href=»#»>Второй пункт</a> <ul> <li><a href=»#»>Первый </a></li> <li><a href=»#»>Второй </a></li> <li><a href=»#»>Третий </a></li> </ul> </li> <li><a href=»#»>Третий пункт</a> <ul> <li><a href=»#»>Первый подпункт</a></li> <li><a href=»#»>Второй подпункт</a></li> </ul> </li> <li><a href=»#»>Четвертый пункт</a></li> </ul> <div> </body> </html> <span>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3. org/TR/html4/loose.dtd»>

<html>

<head>

<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″>

<title>Создание CSS меню</title>

</head>

<body>

div>

<ul>

<li><a href=»#»>Первый пункт</a></li>

<li><a href=»#»>Второй пункт</a>

<ul>

<li><a href=»#»>Первый </a></li>

<li><a href=»#»>Второй </a></li>

<li><a href=»#»>Третий </a></li>

</ul>

</li>

<li><a href=»#»>Третий пункт</a>

<ul>

<li><a href=»#»>Первый подпункт</a></li>

<li><a href=»#»>Второй подпункт</a></li>

</ul>

</li>

<li><a href=»#»>Четвертый пункт</a></li>

</ul>

<div>

</body>

 

</html>

 

<span>

Разница только в имени идентификатора для корневого элемента списка <ul>, поскольку для вертикального и горизонтального меню у меня находятся в одном файле.

Теперь можно задать общие стили для отображения CSS меню:

#vnav { width: 400px; float: left; list-style: none; margin: 0; padding: 0; font-size: 1.2em; }

#vnav {

width: 400px;

float: left;

list-style: none;

margin: 0;

padding: 0;

font-size: 1.2em;

}

Единственным отличием от горизонтального меню является то, что мы задаем ширину нашего меню, которая равна 400 пикселов, при помощи свойства width.

Далее задаем стили для всех пунктов HTML списка:

#vnav li { clear: both; height: 2em; }

#vnav li

{

clear: both;

height: 2em;

}

Свойство height задает высоту элементов CSS меню, clear запрещает обтекание вокруг HTML элемента, значение both говорит о том, что ни с левой, ни с правой стороны наше вертикальное меню не будет обтекания.

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

#vnav li a { float: left; display: block; padding: 4px; text-decoration: none; color: #666; text-transform: uppercase; margin-bottom: 5px; margin-right: 10px; }

#vnav li a

{

float: left;

display: block;

padding: 4px;

text-decoration: none;

color: #666;

text-transform: uppercase;

margin-bottom: 5px;

margin-right: 10px;

}

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

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

#vnav li:hover a, #vnav li a:hover { background: #999; color: #fff; }

#vnav li:hover a,

#vnav li a:hover

{

background: #999;

color: #fff;

}

Теперь мы должны сделать подпункты вертикального CSS меню невидимыми:

#vnav ul {display: none;}

#vnav ul {display: none;}

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

#vnav li:hover ul {display: block;}

#vnav li:hover ul {display: block;}

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

#hnav ul { list-style: none; float: left; margin: 0; padding: 4px 8px; }

#hnav ul

{

list-style: none;

float: left;

margin: 0;

padding: 4px 8px;

}

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

#hnav ul li { float: left; clear: none; margin: 0; padding: 0; width: auto; height: auto; color: #999; }

#hnav ul li

{

float: left;

clear: none;

margin: 0;

padding: 0;

width: auto;

height: auto;

color: #999;

}

Свойство float: left делает отображение подпунктов меню в линию.

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

#hnav li:hover ul li a, #hnav ul li a { display: inline; padding: 0 6px 0 0; float: none; text-transform: lowercase; color: #999; background: none; } #hnav li:hover ul li a:hover, #hnav ul li a:hover { background: none; color: #000; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

#hnav li:hover ul li a,

#hnav ul li a

{

display: inline;

padding: 0 6px 0 0;

float: none;

text-transform: lowercase;

color: #999;

background: none;

}

 

#hnav li:hover ul li a:hover,

#hnav ul li a:hover

{

background: none;

color: #000;

}

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

Вертикальное CSS меню. Выпадающее CSS меню.

Исходные коды примеров вы можете скачать на публичных страницах вконтакте: раз и два.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

Выдвигающиеся меню на css

Шаг-1 Html:


— создаём основной контейнер div
— помещаем в него тег

в котором будет отображаться название данного меню
— ниже прописываем списки
— в которые прописываем ссылку на нужный раздел блога

Code

<div>
  <p>проверка</p>
  <ul>
  <li><a href=»http://get-element. 3dn.ru»>Проверка</a></li>
  <li><a href=»http://get-element.3dn.ru»>Проверка</a></li>
  <li><a href=»http://get-element.3dn.ru»>Проверка</a></li>
  <li><a href=»http://get-element.3dn.ru»>Проверка</a></li>
  <li><a href=»http://get-element.3dn.ru»>Проверка</a></li>
  <li><a href=»http://get-element.3dn.ru»>Проверка</a></li>
  <li><a href=»http://get-element.3dn.ru»>Проверка</a></li>
  <li><a href=»http://get-element.3dn.ru»>Проверка</a></li>
  </ul>
</div>

Шаг-2 CSS:

в сcss стилях всё просто как дважды два:

— прописываем ширину основному контейнеру
— прописываем ссылку на графическое изображение, которое отображается в теги


— тут же прописываем его размеры и отступы
— в начале списков убираем символы и
— устанавливаем нужные атрибуты для ссылки при наведении на них стрелкой мыши

Code

.blogroll {
  position:relative;
  width:274px;
}
.blogroll p {
  font:13px Verdana,Arial,Helvetica, sans-serif; color:#666;
  font-weight: bold;
  text-shadow: 1px 1px 1px #fff;  
  width:274px;
  height:25px;
  background:url(‘Blog_fon.png’) 0 0 no-repeat;
  margin:0;  
  padding: 4px 0px 0px 10px;
}

.blogroll ul {
  list-style:none;  
  width:272px;
  background:#F4F5F6;
  border:1px solid #d0d0d0;
  border-bottom: none;
  border-width:0 1px 1px 1px;
  position:absolute;
  left:0;
  top:25px;
  margin:0;
  padding:0;
}

.blogroll ul a:link,
.blogroll ul a:visited {
  display:block;
  color:#555;
  font-weight:normal;
  text-decoration:none;
  width:252px;
  padding:4px 10px 4px 10px;
  border-bottom: 1px solid #d0d0d0;
  border-top: 1px solid #fff;  
}

. blogroll ul a:hover,
.blogroll ul a:active {
  background:#fff;
}

.blogroll {
  height:25px;
  overflow:hidden;
}

.blogroll:hover {
  overflow:visible;
}

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

10 лучших вариантов реализации многоуровнего меню для навигации по ресурсу.

На сайте devsnippets.com была опубликована статья с примерами и исходниками вариантов создания многоуровневого меню. Перевод данного обзора и предлагается вашему вниманию.Кстати,картинки кликабельны. Веб-разработчики могут создавать горизонтальные или вертикальные меню с интуитивно понятной схемой навигации при помощи CSS. JavaScript позволяет создавать ещё более гибкие, интерактивные схемы навигации по сайту любого типа и рода. Сегодня мы хотим осветить в данной статье 10 лучших вариантов реализации меню навигации при помощи использования различных JavaScript библиотек, включая jQuery, Mootools, а также толики CSS волшебства. Что из этого получится, смотрите ниже. 1. Создание меню навигации по аналогии с Vimeo.com Данная схема навигации по сайту Vimeo.com, создана известным разработчиком Janko. Её главная особенность это выпадающее подменю, появляющееся при наведении курсора на форму поиска. Оно предлагает пользователю различные опции, которые можно выбрать, чтобы сузить поиск. Для примера мы использовали простое выпадающее CSS меню, основанное на неупорядоченном списке. Структура данного меню представлена на картинке ниже. Как вы можете видеть, UL состоит из четырёх элементов. Первый — это лого с выпадающим коротким подменю. Далее следует ссылка для авторизации, ссылка на хэлп с подменю, а также форма поиска, также обладающая подменю. Каждое меню показывается при наведении курсора на соответствующую линку. Демо Исходник 2. CSS фреймворк для создания выпадающих меню. Это кроссбраузерный фреймворк, который содержит набор настраиваемых шаблонов выпадающих меню. Определения CSS (CSS definitions) в нём классифицированы в структурные и тематические типы. Таким образом, для создания нового выпадающего CSS меню необходимо лишь только создать новую тему, в то время как сама структура постоянна. Меню можно изменять, просто переименовывая класс. На выбор предлагается несколько вариантов организации — горизонтальное, вертикальное слева-направо, вертикальное справа-налево, горизонтальное линейное, горизонтальное верхнее. Основные особенности: • Код и файлы прекрасно организованы. Есть возможность прикрутить фреймворк к CMS или другим тулам, также как и XHTML вебсайтам. • Трансформируется при помощи простого переименования класса • Существуют конфигурации для Internet Explorer 5 или позднее, Mozilla Firefox 1.5 и позднее, Opera 7 и позднее, Apple Safari 2 и позднее, Google Chrome 1 и т.д. • Минимум JavaScript кода (только для IE 6 и более ранних версий). Может использоваться с популярными библиотеками JQuery или Scriptaculous. Всё остальное – чистый CSS. Демо Исходник 3. Выпадающее многоуровневое JavaScript меню. Данный скрипт, используемый для организации многоуровневого выпадающего меню, весит всего 1,2 килобайта. Его отличает наличие анимации, а также лёгкость в установке и поддержка возможности использования сразу нескольких таких меню. Демо Исходник 4. MenuMatic MenuMatic – это класс библиотеки MooTools 1.2 посредством которого упорядоченный или неупорядоченный список ссылок превращается в динамическое выпадающее меню. Те пользователи, которые обделены поддержкой JavaScript увидят CSS меню – версию меню Suckerfish Dropdowns Патрика Гриффита и Дэна Уэба немного изменённое Мэттью Кэроллом с возможностью перехода по меню при помощи клавиатуры. Основные особенности: • Дружественен к поисковикам. • Навигация по меню может осуществляться с клавиатуры при помощи кнопок Tab и стрелок. • Гибкость – при отсутствии у пользователя поддержки JavaScript используется выпадающее CSS меню. Демо Исходник 5. Круговое меню с выпадающими подменю. Это симпатичное меню добавляет подуровень иконок для опций внутри основного круга меню. Также присутствует возможность добавлении к каждой иконке краткого описания. Протестировано на работу в IE6, IE7, Firefox, Opera, Safari (PC) and Google Chrome 6. Причудливое слайд-меню для MooTools В данном слад меню присутствует счётчик состояния – после того как пройдёт заданное время без движения мышки в окне, все подменю сворачиваются в изначальное состояние. Демо Исходник 7. Плавное меню навигации Данное мультиуровневое CSS меню на основе jQuery превращает навигацию по ресурсу в плавное и эстетичное занятие. Это хорошая способ подчёркнуть важность и улучшить удобство использования данного элемента на странице. Содержание меню может определяться разметкой страницы или же внешним файлом и прикручиваться Ajax’ом. Благодаря использованию jQuery подменю выпадает в виде слайда с затуханием, а глубину тени можно конфигурировать. 8. «Раскладывающееся» меню. Демо Исходник Это меню представляет собой часть туториала написанного Антонии Лупетте о повторном использовании кода в веб-проектах. В этом примере он организовал навигацию при помощи блоков, анимированно раскрывающихся при наведении на них мыши. 9. Аналог меню Digg.com Данное меню представляет собой реплику схемы навигации известного сайта Digg.com. Самые главные элементы – подписка, поиск и информация об аккаунте, располагаются в верхнем правом углу экрана, как раз там, где вы и ожидаете. Конфигурируемая ширина, выпадающие подменю, удобный поиск, простая смена цветов – классика жанра, одним словом. Демо Исходник 10. Браузер файлов на jQuery Данный браузер файлов на jQuery представляет собой настраиваемый AJAX плагин. С его помощью вы сможете создать структуру типа «файловое дерево» буквальной одной строчкой кода! На данный момент существуют server-side скрипты для PHP, ASP, ASP.NET, JSP, and Lasso. Что мне нравится в этом меню, так это возможность использовать разные иконки для обозначения различных типов файлов, что позволяет находить нужный файл буквально на лету. Кроме того можно настраивать скорость выпадения и исчезания списков подменю. Демо Исходник Источник Оригинал

Создание раскрывающихся меню для сенсорного экрана

Поскольку Amazon Silk работает на устройстве с сенсорным экраном, он не обрабатывает псевдокласс CSS. : наведите указатель мыши на так же, как это делает настольный браузер. В браузере настольного компьютера : наведение становится совпадением, когда вы наводите указатель на элемент на который : установлен hover .Это поведение полезно для раскрывающихся меню, когда вы может создать меню, которое будет скрыто до тех пор, пока пользователь не наведет курсор на родительский элемент. Но на сенсорный экран, такой дизайн меню на основе наведения курсора может привести к проблемам.

Рассмотрим пример. Следующий HTML-документ содержит два неупорядоченных списка, один вложен в другой.Каждый элемент

  • содержит ссылку.

      
      
        
      
      
         
    
      

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

      div.nav ul {
        отступ: 0;
        маржа: 0;
        тип-стиль-список: нет;
    }
    
    div.nav ul li {
        цвет: #FFF;
        отступ: 15 пикселей;
        размер шрифта: 20 пикселей;
        граница справа: 2px #FFF solid;
        нижняя граница: 1px #FFF solid;
        плыть налево;
        цвет фона: # 335A7F;
        ширина: 110 пикселей;
    }
    
    div.nav ul li a {
        цвет: #FFF;
        текстовое оформление: нет;
    }
     
    div.nav li: hover {
        цвет фона: # 4C88BF;
    }
    
    div.nav ul li ul {
        дисплей: нет;
    }
     
    div.nav ul li: hover ul {
        отображение: элемент списка;
        позиция: абсолютная;
        маржа сверху: 14 пикселей;
        маржа слева: -15 пикселей;
    }
     
    div.nav ul li: hover ul li {
        float: нет;
    }
    
    div.nav ul li ul li: hover {
        float: нет;
        цвет фона: # 66B5FF;
    }
    
    li.more: after {
        содержание: "\ 00BB";
        float: right;
        поле справа: 7 пикселей;
    }
      

    Обратите внимание, как используется свойство display . Сначала мы используем display: none , чтобы скрыть вложенный

      , а затем мы используем : наведите указатель мыши на состояние , чтобы вызвать display: list-item , который переопределяет первый отображает и показывает нам вложенный
        . Результат, визуализированный в браузере настольного компьютера, как показано ниже.

        Один

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

        Есть несколько способов избежать этой проблемы. Одна возможность, учитывая распространенность из устройства с сенсорным экраном, это просто не использовать меню, зависящие от состояния наведения. Другой вариант — обнаружить устройства с сенсорным экраном, а затем передать другой, сенсорное меню.Точно так же вы можете использовать скрипт, чтобы изменить способ отображения меню реагирует на сенсорные события. Плагин Superfish для jQuery предоставляет такое решение.

        На следующем примере страницы, которая распространяется Superfish и показана здесь при рендеринге Silk на Kindle Fire HDX раскрывающиеся меню открываются при нажатии.

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

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

        Дополнительную информацию о раскрывающихся меню и сенсорных экранах см. В следующих ресурсах.

        Дополнительные ресурсы

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

        — Учебное пособие по Dreamweaver

        Выпадающее горизонтальное меню CSS

        Вот пример горизонтального меню Drop Down css, который мы создадим в видеоуроке Dreamweaver:

        1.Разметка HTML для раскрывающегося меню

        Скопируйте и вставьте этот HTML-код для раскрывающегося меню CSS на свою веб-страницу:

        
          
         

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

        2. Добавьте стили CSS для выпадающего меню

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

          #navMenu {
            маржа: 0;
            ширина: авто;
         }
        
          #navMenu ul {
            маржа: 0;
            отступ: 0;
            высота строки: 30 пикселей;
         }
        
          #navMenu li {
            маржа: 0;
            отступ: 0;
            стиль списка: нет;
            плыть налево;
            положение: относительное;
            фон: # 999;
         }
        
          #navMenu ul li a {
            выравнивание текста: центр;
            высота: 30 пикселей;
            ширина: 150 пикселей;
            дисплей: блок;
            цвет: # 000;
            семейство шрифтов: "Comic Sans MS", курсив;
            текстовое оформление: нет;
            цвет: #FFF;
            граница: сплошная 1px #FFF;
            тень текста: 1px 1px 1px # 000;
         }
        
          #navMenu ul ul {
            позиция: абсолютная;
            видимость: скрыта;
            верх: 32px;
         }
        
          #navMenu ul li: hover ul {
            видимость: видимая;
            z-индекс: 9999;
         }
        
          / ********************************************************************************************************************************************************************************************************************************
        
          / * устанавливает цвет наведения верхнего уровня * /
        
          #navMenu li: hover {
           фон: # 09F;
         }
        
          / * устанавливает цвет и фон наведения элементов ссылок * /
        
          #navMenu ul li: hover ul li a: hover {
            цвет: # 000;
            фон: #CCC;
         }
        
          / * Изменяет цвет текста при наведении курсора на главное меню * /
        
          #navMenu a: hover {
          цвет: # 000;
         }
          
         / * Содержит поплавок * /
        
         . clearFloat {
            ясно: оба;
            маржа: 0;
            отступ: 0;
         }
        
         / * Исправление отображения IE7 * /
         
         #navmenu ul li {
        
          дисплей: встроенный;
         
         } 
        Выпадающие меню

        CSS и, в частности, выпадающие меню Horizontal css являются производными от исходного меню JavaScript suckerfish. Dreamweaver может создавать раскрывающееся меню Spry, но в этом методе используется много кода, который в современных браузерах, использующих современные возможности css, не требуется в основном потому, что раскрывающееся меню Spry загружается дольше, чем раскрывающееся меню в CSS.Меню Spry также создает много тяжелого кода и загромождает ваши веб-страницы. Многие веб-мастера-любители не будут знать, как минимизировать свой JavaScript, и поэтому останутся с медленной загрузкой веб-страницы и большим количеством беспорядка в своих html-документах.

        Выпадающее меню CSS занимает особое место теперь, когда W3C объявил, что они больше не будут поддерживать Internet Explorer 6. Пользователи IE6 потеряют часть возможности фонового наведения, поскольку IE6 позволяет использовать только псевдоселектор наведения. на ‘a’, а не на любом другом селекторе css.Конечно, есть способ обойти это, но с учетом того, что по состоянию на май 2010 года оставалось только 7,9% оставшихся пользователей IE6, и тот факт, что пользователи в основном из неанглоязычных стран, зачем тратить время на обслуживание этих реликвий последнего десятилетия?

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

        CSS — Учебное пособие по Dreamweaver


        Поделиться Dreamweaver Артикул:

        H Вот пример выпадающего горизонтального меню css, которое можно создать с минимальной разметкой html и небольшим количеством CSS.Эту горизонталь можно создать и стилизовать менее чем за 15 минут, если вы будете следовать приведенным ниже инструкциям с полными примерами кода!


        1. Добавьте HTML-код для выпадающего меню CSS.

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

        
          
         

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

        Перед тем, как тег ссылки элемента списка верхнего уровня был закрыт (

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

        Тег элемента списка верхнего уровня теперь закрыт, но неупорядоченный список сохраняется внутри него. Очень важно, чтобы вы использовали html-комментарии в процессе ручного кодирования, чтобы вы знали, где заканчивается каждый неупорядоченный список и начинается другой.Включено свойство clear float html, прикрепленное после меню списка, которое будет содержать плавающие элементы и позволит возобновить нормальный поток документов. Затем раскрывающееся меню помещается в контейнер div с именем «navMenu».

        2. Добавьте выпадающее горизонтальное меню CSS

        Вот стили CSS, которые заставляют работать горизонтальное меню CSS:

          #navMenu {
            маржа: 0;
            ширина: авто;
         }
        
          #navMenu ul {
            маржа: 0;
            отступ: 0;
            высота строки: 30 пикселей;
         }
        
          #navMenu li {
            маржа: 0;
            отступ: 0;
            стиль списка: нет;
            плыть налево;
            положение: относительное;
            фон: # 999;
         }
        
          #navMenu ul li a {
            выравнивание текста: центр;
            высота: 30 пикселей;
            ширина: 150 пикселей;
            дисплей: блок;
            цвет: # 000;
            семейство шрифтов: "Comic Sans MS", курсив;
            текстовое оформление: нет;
            цвет: #FFF;
            граница: сплошная 1px #FFF;
            тень текста: 1px 1px 1px # 000;
         }
        
         / ****************************************************************************************************************************************************************************
         / * скрыть меню и позволить ему вернуться * /
         / ****************************************************************************************************************************************************************************
        
        #navMenu ul ul {
        позиция: абсолютная;
        видимость: скрыта;
        верх: 32px;
         }
        
          #navMenu ul li: hover ul {
            видимость: видимая;
            z-индекс: 9999;
         }
        
          / ********************************************************************************************************************************************************************************************************************************
        
          / * устанавливает цвет наведения верхнего уровня * /
        
          #navMenu li: hover {
           фон: # 09F;
         }
        
          / * устанавливает цвет и фон наведения элементов ссылок * /
        
          #navMenu ul li: hover ul li a: hover {
            цвет: # 000;
            фон: #CCC;
         }
        
          / * Изменяет цвет текста при наведении курсора на главное меню * /
        
          #navMenu a: hover {
          цвет: # 000;
         }
          
         / * Содержит поплавок * /
        
         . clearFloat {
            ясно: оба;
            маржа: 0;
            отступ: 0;
         }
        
         / * Исправление отображения IE7 * /
        
         #navMenu ul li {
        
          дисплей: встроенный;
         
         }
         

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

        Выпадающее меню css для вложенных ссылок установлено в положение «скрыто». Затем выпадающее меню css снова появляется, когда посетитель наводит курсор на основную ссылку.

        Выпадающее меню css для вложенных ссылок установлено в положение «скрыто». Затем выпадающее меню css снова появляется, когда посетитель наводит курсор на основную ссылку, и это достигается с помощью псевдоселектора при наведении курсора.

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

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

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

        Если возникнут какие-либо вопросы, оставьте сообщение в поле для комментариев.



        40 лучших примеров и практик в 2020 году

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

        Однако для UI / UX-дизайнеров настоящая проблема состоит в том, как сделать их простыми, эффективными и достаточно привлекательными.

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

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

        30 лучших примеров дизайна раскрывающегося меню для вашего вдохновения

        1. Converse

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

        2. Santa Cruz

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

        3. Helias Oils

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

        4. Вихревое раскрывающееся меню CSS3

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

        5. Lion Burger

        Lion Burger имеет очень привлекательную строку раскрывающегося меню в виде кнопок.Пункты подменю сделаны с характерными эффектами наведения. Более того, элементы красной кнопки и белый текст действительно отлично работают на темном фоне страницы.

        6. CSS3 Slide Drop Down Box Menu

        CSS3 Slide Drop Down Box Menu — еще один хороший шаблон выпадающего меню навигации с очень крутым эффектом скольжения. При наведении указателя мыши на пункт меню появится миниатюра изображения, а соответствующие подменю будут плавно перемещаться вправо / влево. Вы также можете щелкнуть нижнюю ссылку, чтобы просмотреть руководство по CSS.

        7. Адаптивное раскрывающееся меню навигации

        Адаптивное раскрывающееся меню навигации происходит из шаблона веб-сайта рецептов Bootstrap. Его раскрывающееся меню состоит из трех подменю столбцов для демонстрации категорий рецептов. Значительный слайдер с изображением справа также помогает пользователям быстро выбрать правильный рецепт.

        8. Выпадающее меню Bryan

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

        9. PopSockets

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

        10. Исследование минимального раскрывающегося меню

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

        11. Раскрывающееся меню Creative со значками

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

        12. Выпадающее меню Zenith Arena De Lille

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

        13. Выпадающее меню SkySmile

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

        14. Минимальное взаимодействие с раскрывающимся меню

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

        15. Раскрывающееся меню мобильного приложения

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

        16. Дизайн раскрывающегося окна уведомлений

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

        17. Выпадающее меню уведомлений

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

        18. HTML-анимация раскрывающегося меню

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

        19. О нас Анимация выпадающего меню

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

        20. Интерактивные раскрывающиеся меню

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

        21. Раскрывающееся меню магазина

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

        22. Mini Cooper

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

        23. Board Star

        Board Star — это интернет-магазин сноубордов. Его раскрывающееся меню навигации имеет характерный стиль ретро-дизайна и использует интуитивно понятный список и дизайн карточек для предоставления различных вариантов продукта.

        24. Porsche

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

        25. Audi

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

        26. Sony Play Station

        Sony Play Station имеет отличное раскрывающееся меню навигации, на которое можно нажимать, и все его подменю состоят из креативных жирных значков. Прекрасный пример создания привлекательного графического меню.

        27. Mr Clean

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

        28. KFC

        KFC использует вертикальное раскрывающееся меню для помощи в навигации. Анимация подменю тоже очень крутая.

        29. Taco Bell

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

        30.Bern Tourism

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

        10 советов по раскрывающемуся меню, которым вы должны следовать

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

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

        1.Держите меню ниже двух уровней.

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

        Возьмем в качестве примера веб-сайт Slack. Он использует двухуровневое раскрывающееся меню для четкого и интуитивно понятного представления информации о ресурсах.

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

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

        2. Создание четких и хорошо структурированных раскрывающихся меню

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

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

        3.Добавьте эффекты наведения или выделения, чтобы выделить пункты меню.

        Чтобы создать эффективное раскрывающееся меню, вы должны добавить один, два или более эффектов наведения или выделения, чтобы направлять пользователей.

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

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

        4. Используйте значки или изображения для обогащения раскрывающихся меню

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

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

        5.Поддерживайте единообразие стилей меню

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

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

        6. Выделить недоступные пункты меню серым цветом

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

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

        7. Добавление быстрой выпадающей анимации

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

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

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

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

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

        9. Используйте другой цвет фона для выделения ваших меню

        Вместо полу-родительского фона цветной Фон меню также помогает отличать раскрывающиеся меню от фона.

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

        10. Регулярно проверяйте раскрывающееся меню

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

        В целом, мы надеемся, что эти творческие примеры и передовые методы могут вас вдохновить.

        Как сделать выпадающее меню?

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

        1.Создайте раскрывающееся меню с помощью шаблона HTML / CSS

        Для дизайнеров UI / UX самый быстрый способ — использовать шаблон дизайна раскрывающегося меню. В Интернете доступно множество HTML / CSS-шаблонов . Вы можете свободно искать тот, который вам нужен.

        2. Создайте раскрывающееся меню с помощью инструмента дизайна.

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

        Заключение

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

        Ajatix — Расширенное раскрывающееся меню CSS

        Создавайте профессиональные гибкие раскрывающиеся меню CSS с сенсорным экраном за несколько простых шагов.

        Эта мощная надстройка Expression Web полностью автоматизирует процесс создания профессиональных горизонтальных и вертикальных меню CSS3 jQuery и управления ими.

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

        Совместимость с различными устройствами

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

        • Touch enabled — разработан для первоклассного взаимодействия с пользователем на iPhone, iPad, Android, Surface и других сенсорных устройствах.
        • Интеллектуальное управление касанием — для элементов с подменю первое касание открывает подменю, второе касание следует по ссылке.
        • Нажмите «Нет на месте, чтобы закрыть» — закройте подменю, просто коснувшись любого другого места на странице.
        • Выпадающие списки с учетом границ — независимо от размера экрана, раскрывающиеся списки всегда остаются в пределах области просмотра.
        • Отзывчивый — меню автоматически подстраивается под размер области просмотра. Поддерживаются гибкие макеты сетки.

        Улучшенный пользовательский интерфейс

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

        • Быстрый запуск — легкие файлы CSS и JavaScript, оптимизированные для каждого конкретного меню, оптимизированные обработчики событий и чистая база CSS гарантируют мгновенный запуск. Выпадающие меню готовы к работе, как только они появляются на странице.
        • Более плавная навигация — регулируемые задержки открытия и закрытия и прогнозирование движения мыши делают меню простительным для ошибок движения мыши и предотвращают случайное закрытие и мигание раскрывающихся списков.
        • Анимированное открытие — дополнительные анимации прокрутки, скольжения и затухания с регулируемой скоростью, направлением и плавностью делают выпадающие списки более естественными.
        • Выделить текущую страницу — выделить элемент, ссылающийся на текущую просматриваемую страницу, чтобы посетитель вашего сайта знал, где он находится на вашем сайте.
        • Доступный — раскрывающееся меню Advanced CSS соответствует рекомендациям W3C по обеспечению доступности веб-контента и доступно для самого широкого круга пользователей.
        • Кроссбраузерная совместимость — работает во всех используемых в настоящее время браузерах (таких как Chrome, Firefox, Edge, IE8 — IE11, Safari, Opera и т. Д.)) и в большинстве устаревших браузеров (включая IE5.x — IE7), постепенно ухудшается в очень старых браузерах.
        • Возможность работы в браузерах с отключенным JavaScript. — Расширенное раскрывающееся меню CSS основано на дизайне чистого CSS-меню в стиле Suckerfish, способном работать в браузерах с отключенным JavaScript.
        • Профессиональный вид — разработан профессиональными программистами и дизайнерами. CSS-меню Ajatix улучшат общее впечатление о вашем сайте и добавят к нему доверия.

        Улучшенная поисковая оптимизация

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

        • Отдельная структура, стиль и поведение — в соответствии с рекомендациями W3C структура меню (разметка HTML) хранится отдельно от стиля (файл CSS) и поведения (файл JavaScript).
        • Вложенные неупорядоченные списки — ваша структура меню представляется поисковым системам в семантически правильной, иерархически структурированной форме, именно такой, какой они ее любят.
        • Ссылки на странице — в отличие от меню на чистом JavaScript и DHTML, раскрывающееся меню Advanced CSS не сохраняет ссылки внутри JavaScript, ссылки присутствуют в исходном коде страницы и могут сканироваться пауками поисковых систем.
        • Текст поверх изображений — текст на кнопках не состоит из сплошных изображений, это настоящий текст, который при желании может быть размещен поверх фонового изображения.Поисковые системы очень уважают этот текст внутри якорей.
        • Заголовки ссылок — к ссылкам можно добавлять атрибуты заголовка, чтобы предоставить дополнительную информацию о ссылках.
        • Допустимый HTML и CSS — разметка меню соответствует стандартам HTML, XHTML и CSS и проходит проверки действительности W3C и Expression Web.
        • Ненавязчивый JavaScript — отдельный уровень поведения создает дополнительную функциональность на основе чистого CSS. Написан в соответствии с лучшими практиками программирования на JavaScript и не содержит стилей или ссылок внутри.

        Простота настройки и поддержки

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

        • Знания CSS или JavaScript не требуются. — все стили и файлы JavaScript создаются автоматически на основе выбранных вами параметров.
        • Удобный графический интерфейс надстройки Expression Web — не нужно копаться в файлах CSS, вносить какие-либо изменения в стиль или структуру меню всего несколькими щелчками мыши.
        • Предустановленные темы — используйте одну из множества предустановленных тем в качестве основы для дизайна вашего меню или примените ее к существующему меню в любое время.
        • Разнообразие стилей — создавайте свои собственные стили или используйте предустановленные темы, настраиваемые в любом аспекте.
        • Предварительный просмотр в реальном времени — посмотрите, как ваше меню будет выглядеть в браузере во время редактирования. Любое изменение стиля или структуры меню будет мгновенно отражено в браузере IE, встроенном в это окно.
        • Повторный ввод — повторно войдите в графический интерфейс надстройки, чтобы изменить меню в любое время позже.
        • Неограниченное количество подуровней — возможны структуры глубокого меню.
        • Подставка для техники раздвижных дверей — одно и то же изображение можно использовать для предметов разной ширины.
        • Несколько меню на странице — вы можете иметь столько выпадающих меню CSS на странице, сколько захотите.
        • Поддерживаемые шаблоны Expression Web — легко обновляйте меню на всем сайте, поместив его в шаблон Expression Web.
        • Документация по продукту — Выпадающее меню Advanced CSS поставляется с полной подробной документацией, в которой описаны все функции и настройки меню.

        Соотношение цена / качество

        Надстройка Advanced CSS Drop Down Menu экономит ваше время и деньги и окупается в кратчайшие сроки.

        • Универсальный продукт — создавайте горизонтальные, вертикальные, вкладки, текстовые или графические меню с помощью одного инструмента.
        • Экономьте свое время — процесс настройки вашего меню быстрый и приятный, результат профессиональный.
        • Экономьте деньги — Ваше время стоит денег, как и время дизайнеров, программистов и SEO-специалистов. Выбирайте из широкого спектра готовых дизайнов, мгновенно настраивайте их. Используйте лучшие практические решения, разработанные профессионалами. Уложитесь в сроки, сократите время выхода на рынок, сократите расходы на поддержку.
        • Зарабатывайте деньги — делайте больше за меньшее время, привлекайте больше посетителей на свой сайт, заменив устаревшее меню JavaScript этим профессиональным меню, оптимизированным для поисковых систем.Улучшите свою позицию в обычном поиске Google, вложив единовременно в оптимизированное меню CSS, за небольшую часть вашего ежемесячного бюджета Google Adwords.
        • Неограниченное количество сайтов — используйте эту надстройку для создания меню CSS для любого количества сайтов.
        • Без ежемесячной платы или подписки — вам не нужно платить ежемесячную плату или абонентскую плату.
        • Специальная группа поддержки — наша группа поддержки будет рада помочь вам в настройке вашего меню.
        • Бесплатная пробная версия — не нужно покупать кота в мешке, воспользуйтесь безрисковой полнофункциональной 15-дневной пробной версией, прежде чем передавать свои деньги.
        • 60-дневная гарантия возврата денег — Если наш товар вам не подходит, мы вернем вам деньги без лишних вопросов.

        Что нового

        Версия 5

        • На основе jQuery — Меню полностью использует преимущества самой мощной в мире библиотеки JavaScript.
        • Переходы кроссфейда цвета — переходы CSS3 делают изменения цвета плавными и постепенными.
        • Закрытие анимации — Выпадающие списки закрываются плавно и естественным образом.
        • Анимация скольжения вниз в адаптивном режиме — классический переход скольжения вниз, приправленный ослаблением
        • Bootstrap friendly — меню легко интегрируются в страницы на основе Bootstrap.
        • Поддержка Microsoft Edge — анимация слайдов и прокрутки теперь работает в новом браузере Microsoft.
        • Бесплатные обновления для всех следующих версий 5.x.x.

        Версия 4

        • Адаптивные и мобильные настройки — Полный контроль над внешним видом меню на мобильных устройствах, включая размер, текст, цвет и изображения.
        • Улучшена поддержка сенсорных устройств — Улучшена поддержка Windows Phone / Surface.
        • Новые темы — Добавлены новые предустановленные темы.

        Версия 3

        • Полностью отзывчивый — Меню подстраивается под ширину экрана и переключается в скользящий режим на устройствах с узким экраном (телефонах).
        • Улучшенная поддержка сенсорных устройств (iPhone, iPad, Android и т. Д.) — Коснитесь, чтобы открыть раскрывающийся список, коснитесь, чтобы закрыть. Для ссылок с подменю первое касание открывает подменю, второе касание активирует ссылку.
        • Предварительный просмотр в реальном времени в режиме телефона — Режимы устройства были добавлены в предварительный просмотр в реальном времени. Посмотрите, как будет выглядеть меню на телефоне и на ПК / планшете.

        Microsoft Windows 10, 8, 7, Vista, XP, 2000
        Microsoft Expression Web 4, 3 (SP2), 2, 1, Microsoft FrontPage 2003, 2002, 2000

        Вертикальное раскрывающееся меню при наведении курсора с использованием CSS и HTML

        Введение

        В этой статье объясняется, как создать вертикальное раскрывающееся меню с помощью CSS и HTML.

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

        Его вывод будет примерно таким:

        Теперь мы увидим процедуру создания такого выпадающего меню.

        Шаг 1

        Прежде всего, добавьте таблицу стилей и форму или страницу HTML.

        Затем на странице HTML или в веб-форме .NET добавьте «Div» и назовите его «divMenu».

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

          • Home1
            • Homea
            • < a href = "#"> Homeb
            • Homec
          • Home2
            • Homed
            • Homee
            • Homef
          • Home3
            • Homeg
            • < href = "#"> Homeh
            • Homei
          • Home4
          • Home5
          • Home6

        Шаг 2

        Прямо сейчас ваш код не более чем этот:

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

        Добавьте этот код в свою таблицу стилей:

        1. #divMenu, ul, li, li li {
        2. margin: 0;
        3. обивка: 0;
        4. }
        5. #divMenu {
        6. width: 150px;
        7. высота: 27 пикселей;
        8. }
        9. #divMenu ul
        10. {
        11. line-height: 25px;
        12. }
        13. #divMenu li {
        14. стиль списка: нет;
        15. позиция: относительная;
        16. фон: # 641b1b;
        17. }
        18. #divMenu li li {
        19. стиль списка: нет;
        20. позиция: относительная;
        21. фон: # 641b1b;
        22. слева: 148 пикселей;
        23. верх: -27 пикселей;
        24. }
        25. #divMenu ul li a {
        26. width: 148px;
        27. высота: 25 пикселей;
        28. дисплей: блочный;
        29. текстовое оформление: нет;
        30. выравнивание текста: по центру;
        31. Семейство шрифтов
        32. : Georgia, Times New Roman, с засечками;
        33. цвет: #ffffff;
        34. граница: сплошная 1px #eee;
        35. }
        36. #divMenu ul ul {
        37. позиция: абсолютная;
        38. видимость: скрыта;
        39. верх: 27 пикселей;
        40. }
        41. #divMenu ul li: hover ul {
        42. видимость: видимая;
        43. }
        44. #divMenu li: hover {
        45. background-color: # 945c7d;
        46. }
        47. #divMenu ul li: hover ul li a: hover {
        48. background-color: # 945c7d;
        49. }
        50. #divMenu a: hover {
        51. font-weight: bold;
        52. }

        Здесь я использовал идентификатор

        , другими словами «divMenu».

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

        Выход


        раскрывающаяся навигация только с CSS

        Примечание: Это обновление старого популярного сообщения.

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

        См. Раздел «Навигация в раскрывающемся списке с помощью пера (только CSS)» Лизы Каталано (@lisa_c) на CodePen.

        Предпочитаемый метод обучения?

        Фрагменты кода
        Если вам нужен только код и не нужно описание.

        Просмотр видео
        Если вам нравится, как что-то работает с пояснением, посмотрите видео.

        Чтение описания
        Если вы научитесь лучше читать, я включаю расшифровку видео с соответствующими встроенными фрагментами кода.

        Только код

        См. Раздел «Навигация в раскрывающемся списке с помощью пера (только CSS)» Лизы Каталано (@lisa_c) на CodePen.

        См. Раскрывающееся меню «Перо» (только CSS) Лизы Каталано (@lisa_c) на CodePen.

        Видео

        Если вы хотите следить за видео:

        Начальный код здесь
        Конечный код здесь

        Выписка

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

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

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

        Если вы хотите продолжить, вы можете взять код из моего репозитория GitHub под названием «dropdown».Я выложу ссылку.

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

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

        Изменения HTML

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

        Итак, если мне нужно подменю в разделе «Учебники», я могу перейти к этому тегу li и внутри него вставить еще один тег ul и несколько тегов li для каждого пункта меню со ссылкой внутри. Синтаксис такой же, как у меню верхнего уровня, только вложенный внутрь. Я добавляю 3 пункта меню с некоторыми ярлыками Emmet.

        Я также создам подменю для информационных бюллетеней.

          
          

        Теперь это выглядит ужасно как на маленьком, так и на большом экране.

        Сначала я поработаю над маленьким экраном.

        Изменения CSS для маленького экрана

        Причина, по которой это нечитаемо, заключается в том, что подменю отображаются поверх главного меню. Это потому, что есть свойство height под .nav li . Элементам списка с подменю дается только 40 пикселей, что недостаточно для размещения подменю.

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

        Новая проблема заключается в том, что размер шрифта для подменю больше, чем для верхнего меню.

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

        Таким образом, использование ems может быть неприятным, когда вы вкладываете вещи, которые определяют размер шрифта.

        Существует еще одна единица измерения, называемая rems , что означает «root em» и всегда будет основывать свое значение на корневом элементе, а не на родительском. Это означает, что вы избегаете каскада и эффекта умножения.

        Поменяю единицу измерения на rem .

        Теперь все предметы одинакового размера.

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

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

        Если я укажу li , который находится внутри другого li , он будет нацелен только на элементы вложенных списков.

        Когда я установил 1em, вы увидите, что размер соответствует.

          / * Код подменю * /
        .nav li li {
          размер шрифта: 1em;
        }
          

        Но я установлю это на.8em, чтобы он был немного меньше.

        Мне не нравится центрированный текст в этом длинном меню. Это происходит из этого text-align: center здесь, в неупорядоченном списке. Я хочу оставить это в теге ul , потому что я хочу, чтобы это меню было сосредоточено на больших экранах, но я сделаю так, чтобы теги li были выровнены по левому краю.

        Итак, я добавлю text-align: left к .nav li .

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

        (.nav a)

          padding-left: 15px;
          

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

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

        Вместо этого я перенесу эту строку кода в тег и .

        Теперь маленькое меню выглядит лучше.

        CSS Навигация вниз-вниз на больших экранах

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

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

        Этот код внутри медиа-запроса будет выполняться только на экранах с разрешением 650 пикселей или более.

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

        Я нацелен на теги ul внутри li , так что это применимо только к вложенным меню.

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

          .nav li ul {
          позиция: абсолютная;
          дисплей: нет;
        }
          

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

          .nav a {
          нижняя граница: нет;
        }
          

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

        Далее мы хотим отображать меню при наведении курсора на родительское меню. Таким образом, мы можем нацелить курсор на родительский li , а затем на неупорядоченный список.

          .nav li: hover ul {
          дисплей: блок;
        }
          

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

        Но мне нужна вертикальная навигация.

        Причина, по которой он горизонтальный, заключается в том, что я использую display: inline-block для всех тегов li внутри .nav . Это должно было сделать основную навигацию горизонтальной.

        Если я хочу, чтобы эта суб-навигация была вертикальной, мне нужно настроить таргетинг на суб-теги li и отобразить их как block ;

          .nav li ul li {
          дисплей: блок;
        }
          

        Ширина подменю немного мала. Это связано с тем, что li имеет ширину 130 пикселей, но цвет фона берется из тега ul , для которого не задана ширина и поэтому по умолчанию установлено значение auto .

        Я хочу, чтобы теги подменю ul имели ту же ширину, что и родительский li . Если я скажу width: наследовать , он наследует ширину своего родителя или элемента списка.

        Теперь все хорошо выстраивается.

        Мне не нравится, что текст теперь выровнен по левому краю. Помните, я исправил это для маленького экрана.

        Если я добавлю этот код в медиа-запрос

          .nav ul li {
            выравнивание текста: центр;
          }
          

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

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

        Я хочу центрировать только верхнее меню. Легко настроить таргетинг на дочерние меню, добавив больше селекторов, но я не могу сделать это в верхнем меню. Я мог бы добавить класс или настроить таргетинг на прямых потомков класса nav с помощью дочернего селектора, то есть > .

        Посмотрите, как, когда я добавляю дочерний селектор, центрируется только верхняя панель навигации. Ну, по центру плюс 15 пикселей отступа слева.

        Я могу снова использовать дочерний селектор, чтобы удалить это заполнение.

          .nav> ul> li> a {
            отступ слева: 0;
          }
          

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

        Левый отступ в 15 пикселей останется в дочерних меню.

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

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

  • alexxlab

    Добавить комментарий

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