Comment créer : une barre de navigation supérieure responsive avec un menu déroulant
- Page précédente Menu déroulant dans la barre de navigation latérale
- Page suivante Menu de sous-navigation
Apprendre à créer une barre de navigation supérieure responsive avec un menu déroulant.
Barre de navigation supérieure responsive avec menu déroulant
Créer une navigation supérieure responsive avec un menu déroulant
Étape 1 - Ajouter HTML :
<div class="topnav" id="myTopnav"> <a href="#home" class="active">Accueil</a> <a href="#news">Nouvelles</a> <a href="#contact">Contact</a> <div class="dropdown"> <button class="dropbtn">Menu déroulant <i class="fa fa-caret-down"></i> </button> <div class="dropdown-content"> <a href="#">Lien 1</a> <a href="#">Lien 2</a> <a href="#">Lien 3</a> </div> </div> <a href="#about">À propos</a> <a href="javascript:void(0);" class="icon" onclick="myFunction()">☰</a> </div>
Deuxième étape - Ajouter CSS :
/* 为顶部导航添加黑色背景色 */ .topnav { background-color: #333; overflow: hidden; } /* 设置导航栏中链接的样式 */ .topnav a { float: left; display: block; color: #f2f2f2; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } /* 添加一个活动类来突出显示当前页面 */ .active { background-color: #04AA6D; color: white; } /* 在小屏幕上隐藏应打开和关闭顶部导航的链接 */ .topnav .icon { display: none; } /* 下拉菜单容器 - 用于定位下拉菜单内容 */ .dropdown { float: left; overflow: hidden; } /* 设置下拉菜单按钮的样式以使其适应顶部导航栏 */ .dropdown .dropbtn { font-size: 17px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit; font-family: inherit; margin: 0; } /* 设置下拉菜单内容的样式(默认为隐藏) */ .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } /* 设置下拉菜单内的链接样式 */ .dropdown-content a { float: none; color: black; padding: 12px 16px; text-decoration: none; display: block; text-align: left; } /* 在鼠标悬停时,为顶部导航栏链接和下拉菜单按钮添加深色背景 */ .topnav a:hover, .dropdown:hover .dropbtn { background-color: #555; color: white; } /* 在鼠标悬停时,为下拉菜单链接添加灰色背景 */ .dropdown-content a:hover { background-color: #ddd; color: black; } /* Afficher le menu déroulant lorsque l'utilisateur place le curseur sur le bouton du menu déroulant */ .dropdown:hover .dropdown-content { display: block; } /* Lorsque la largeur de l'écran est inférieure à 600 pixels, masquer tous les liens sauf le premier ("Accueil") et afficher le lien pour ouvrir et fermer la barre de navigation supérieure (.icon) */ @media screen and (max-width: 600px) { .topnav a:not(:first-child), .dropdown .dropbtn { display: none; } .topnav a.icon { float: right; display: block; } } /* Lorsque l'utilisateur clique sur l'icône, JavaScript ajoute la classe "responsive" à la barre de navigation supérieure. Cette classe rend la barre de navigation supérieure plus belle sur les petits écrans (affichage vertical des liens au lieu de horizontal) */ @media screen and (max-width: 600px) { .topnav.responsive {position: relative;} .topnav.responsive a.icon { position: absolute; right: 0; top: 0; } .topnav.responsive a { float: none; display: block; text-align: left; } .topnav.responsive .dropdown {float: none;} .topnav.responsive .dropdown-content {position: relative;} .topnav.responsive .dropdown .dropbtn { display: block; width: 100%; text-align: left; } }
Étape 3 - Ajouter JavaScript :
/* Changer entre l'ajout et la suppression de la classe "responsive" dans la barre de navigation supérieure au clic sur l'icône */ function myFunction() { var x = document.getElementById("myTopnav"); if (x.className === "topnav") { x.className += " responsive"; } else { x.className = "topnav"; } }
Pages associées
Tutoriel :Menu déroulant CSS
Tutoriel :Comment créer un menu déroulant cliquable
Tutoriel :Barre de navigation CSS
- Page précédente Menu déroulant dans la barre de navigation latérale
- Page suivante Menu de sous-navigation