Le menu Responsive
Pour rappel, le menu responsive a un toute autre apparence que le menu bureau.
Designer le menu principal
-
Cacher l'ancien logo
Dans un premier temps on va cacher l'ancien logo qui se trouve dans la liste de navigation
/* - - - - - - - - - - - - - Menu principal - - - - - - - - - */ ul#menu li#logo { display: none; }
-
Placer le nouveau logo
La propriété z-index permet de déterminer des plans supérieurs.
#logo-smartphone{ z-index: 15; width:126px; height: 23px; position: fixed; top: 10px; background: url(../images-site/logo-haut.png) }
-
Navigation principale
nav#principale { width: 100%; position: fixed; top: 50px; left:0; background: #00a1f2; }
-
Les éléments du menu
La largeur est au minimum de 100% . le sélecteur de pseudo-classe :nth-child(even) cible un élément voisin du même niveau sur deux.
#menu li.items { min-width: 100%; padding: 5px 10px; } #menu li.items:nth-child(even) { background: rgba(0,0,0, 0.2); }
-
Couleur et survol des liens
#menu li.items a { color: #FFF; text-decoration: none; } #menu li.items:hover, #menu li.items:focus { background: rgba(0,0,0,0.5); }
Insertion de polices vectorielles
On souhaite placer des icônes devant chaque item de menu.
-
Aller
sur le site
Cliquer sur le bouton Download, puis sur le bouton 'Just download'. Dézipper le dossier puis copier le dossier fonts au même niveau que le dossier css du site qui contient toutes les feuilles de style. Copier le fichier font-awesome.css du dossier zippé dans le dossier css du siteCréer le lien dans le head de la page HTML vers la feuille de style font-awesome.css
<link rel="stylesheet" href="css/font-awesome.css">
-
Rechercher une icône
Dans le navigateur Google Chrome, faire une recherche sur "home"
-
Copier et coller le code de l'icône
Faire de même pour les autres items
<li class="items active"><a href="#"><i class="fa fa-home" aria-hidden="true"></i>Accueil</a></li> <li class="items"><a href="#"><i class="fa fa-plus-circle" aria-hidden="true"></i>Produits</a></li> <li class="items"><a href="#"><i class="fa fa-user-circle" aria-hidden="true"></i>Connection</a></li> <li class="items"><a href="#"><i class="fa fa-paper-plane" aria-hidden="true"></i>Contact</a></li>
-
Donner une largeur aux icones
#menu li.items i { width: 30px; color: #FFF; }
-
Cacher les icones dans le menu principal
Dans la feuille de style principale, css-bracelet.css, rajouter la règle pour ne plus afficher les icones devant les éléments de menu.
#menu li.items a i { display: none; }
Créer le bouton "hamburger"
Ce bouton permettra l'affichage du menu et au contraire sa disparition. Il sera positionné en haut à droite.
-
Juste après le début du header on place un lien.
Dans le lien on copie le code correspondant aux barres.
<header> <a id="show-menu" href="#"><i class="fa fa-bars" aria-hidden="true"></i></a>
-
On positionne le menu hamburger en haut à droite
#show-menu { position: absolute; top:0; right:0; width:50px; height: 50px; }
-
On cache le menu hamburger dans la version bureau
@media (min-width: 769px) { #show-menu { display: none; }
- On met en forme