Многоуровневое меню

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

Многоуровневое меню начинаем с HTML.

Для начала пишем стандартный шаблон. Как правильно писать базовый HTML, можно посмотреть здесь http://prog-time.ru/2017/12/13/bazovyj-kod-html/

В тег <body> мы вписываем структуру меню. 

Само меню, целиком, находится внутри тега <nav>. Для этого также можно использовать и тег <div>.

Вся структура состоит из цепочки тегов. Меню начинается с тега <ul>, который задаёт список. Этот тег как бы делит меню на блоки, и без него не получится сделать дополнительное подменю. В дальнейшем в таблице стилей CSS, можно будет задать стили и положение этого меню. 

Внутри тега <li> можно написать тег <a>с атрибутом href="http://Название_Страницы",чтобы указать куда ведёт эта ссылка. Так же на момент редактирования можно поставить атрибут с таким значением href="#". При этом ссылка будет работать, но не будет не куда вести.

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


<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>Выпадающее меню</title>
	<link rel="stylesheet" href="css/style.css">
</head>
<body>
	<nav class="drop-menu">
	    <ul>
		<li><a href="#">Главная</a></li>
		<li class="drop"><a href="#">Товары</a>
			<ul>
			    <li><a href="#">Машины</a></li>
			    <li class="drop"><a href="#">Мотоциклы</a>
				<ul>
				    <li class="drop"><a href="#">Yamaha</a>
				        <ul>
					    <li><a href="#">2017</a></li>
					</ul>
				    </li>
				    <li><a href="#">Kawasaki</a></li>
					</ul>
				    </li>
				    <li><a href="#">Катера</a></li>
					</ul>
			    </li>
		<li><a href="#">Контакты</a></li>
	   </ul>
	</nav>
</body>
</html> 

В данном случае у нас получился вот такой результат

Далее нам нужно немного преобразовать это меню. Для этого мы в CSS прописываем следующие свойства.

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

.container {
	width: 1140px;
	margin: 0 auto;
}

/*Menu*/

.toggleMenu {
	display: none;
}

.drop-menu ul {
	list-style: none;
	background-color: #f8f8f8;
	border: 1px solid #e7e7e7;
}

.drop-menu > ul {
	display: flex;	
}

.drop-menu a {
	padding: 15px;
	display: block;
	text-decoration: none;
	color: #777;
}

.drop-menu a:hover {
	background-color: #e7e7e7;
	color: #555;
}

.drop-menu > ul li {
	position: relative;
}

.drop-menu li ul {
	position: absolute;
	display: none;
	min-width: 150px;
}

.drop-menu li > ul li ul {
	position: absolute;
	right: -150px;
	top: 0;
}

.drop-menu li:hover > ul {
	display: block;
}

.drop-menu .drop > a:after {
	margin-left: 7px;
    content: "\f0da";
    font-family: FontAwesome;
}

.drop-menu > ul > .drop > a:after {
	margin-left: 7px;
    content: "\f0d7";
    font-family: FontAwesome;	
}

.drop-menu [type="checkbox"] {
	display: none;
}

.drop-menu label.toggleMenu {
	border: 1px solid #ddd;
	padding: 9px 10px;
}

/*Menu-end*/


Преобразовав, мы получили вот такое меню. 

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

На этом всё!
Если у вас есть вопросы, пишите их в нашей группе - https://vk.com/progtime
Вы так же можете разместить свой вопрос на нашем форуме, где другие программисты смогут вам помочь в решение вашей задачи - https://vk.com/prog_time
В ней мы делимся своим опытом с другими начинающими программистами, поэтому обязательно ответим на ваш вопрос.
Так же прокачивайте свои навыки на нашем канале - https://www.youtube.com/c/ProgTime

34
Оставить комментарий

avatar
34 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
31 Авторы комментариев
DonaldTwillDonaldTwillDennisLofDennisLofAlfredAdvog Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
StepFoush
Гость

Priligy Buy [url=http://apcialisle.com/#]Cialis[/url] Cytotec Prix Senegal Cialis Donde Puedo Comprar Cialis

JanleF
Гость

Buy Viagra Online In The United States [url=http://apcialisle.com/#]Cialis[/url] Buy Xenical Online Without Rx Buy Cialis Comparatif Prix Cialis France

StepFoush
Гость

What Is Viagra Super Active [url=https://apcialisle.com/#]buy cialis canada[/url] Order Canadian Pharmacy No Script Cialis Achat Kamagra Super Active 25 Mg

JanleF
Гость

Priligy Approuve Au Canada [url=https://buyciallisonline.com/#]Cialis[/url] Keflex Effects On Pregnancy cheapest cialis online Buy Viagra 100 From Walmart

bemnite
Гость
bemnite

where is the best place to buy cialis online https://canadianpharmacystorm.com cheap viagra for sale uk

AlvinCox
Гость
AlvinCox

cheap cialis generic india cialis online cialis discount internet

CharlesGOP
Гость
CharlesGOP

buy viagra gold cialis online viagra cialis buy uk

JanleF
Гость

Potenz Levitra [url=https://buycialisuss.com/#]Buy Cialis[/url] Is Keflex Effective For Cellulitis Cialis Uk Propecia Finasteride

Waltonplort
Гость
Waltonplort

buy viagra no prescription canada viagra price best website buy cialis

BarryNaW
Гость
BarryNaW

buy cialis no rx best ed pills cialis cheap prices

Jefferykap
Гость
Jefferykap

cialis 20mg https://www.sildwithdoctorprescription.com buy viagra zimbabwe

Marvinerulk
Гость
Marvinerulk

cialis pills south africa http://hydroxychloroquine24.com – plaquenil for sale how to buy levitra no prescription

Marvinerulk
Гость
Marvinerulk

where can i buy levitra online http://hydroxychloroquine24.com – buy hydroxychloroquine online order viagra south africa

Marvinerulk
Гость
Marvinerulk

cialis pills what are for http://aralenph.com – aralen cheap cialis daily

Marvinerulk
Гость
Marvinerulk

buy viagra in ottawa http://zithazi.com – generic zithromax viagra for sale in new york

Marvinerulk
Гость
Marvinerulk

where to buy viagra in vancouver http://kaletra24.com – kaletra generic buy viagra queensland

Marvinerulk
Гость
Marvinerulk

can i buy cialis in dubai http://alexa24ph.com – sildenafil buy levitra with dapoxetine

Marvinerulk
Гость
Marvinerulk

buy viagra jelly online http://alexa24ph.com – viagra pills levitra sale canada

Marvinerulk
Гость
Marvinerulk

viagra buy uk online http://aralenph.com – buy alaren cialis buy online

Marvinerulk
Гость
Marvinerulk

cheap viagra uk next day delivery http://kaletra24.com – buy kaletra online viagra cheap

AlfredAdvog
Гость
AlfredAdvog

viagra erection
cialis online

AlfredAdvog
Гость
AlfredAdvog

viagra dosage
buy cialis soft cheap

AlfredAdvog
Гость
AlfredAdvog

viagra online
is there a generic cialis available in the us

AlfredAdvog
Гость
AlfredAdvog

viagra pills
buy real cialis online

AlfredAdvog
Гость
AlfredAdvog

viagra
how old do you have to be to buy viagra

AlfredAdvog
Гость
AlfredAdvog

generic viagra 100mg
discount cialis professional

AlfredAdvog
Гость
AlfredAdvog

viagra without a doctor prescription
cialis over the counter

AlfredAdvog
Гость
AlfredAdvog

generic viagra
order viagra safely

AlfredAdvog
Гость
AlfredAdvog

generic viagra
cheap viagra new zealand

AlfredAdvog
Гость
AlfredAdvog

viagra without a doctor prescription
order cheap generic viagra

DennisLof
Гость
DennisLof

cialis at a discount price cialis online
generic cialis no doctor’s prescription

DennisLof
Гость
DennisLof

cialis coupon code cialis online
canada cialis

DonaldTwill
Гость
DonaldTwill

buy viagra buy sildenafil online
viagra price

DonaldTwill
Гость
DonaldTwill

viagra coupon free viagra
sildenafil vs viagra