Navigation et menus
Créer des menus, adaptatif et définir des ensembles de liens destinés à la navigation dans vos documents.Vue d'ensemble
Une barre de menu est définie par le tag <nav>
. La barre et les éléments de type liste <ul>
utilisent les flexbox MDN Référence pour contrôler le positionnement des différents éléments pouvant composer un menu (logo, liens etc...), il faudra utiliser les classes utilitaire flex.
Par défaut, la barre de navigation prend toute la largeur de la surface d'affichage et les éléments sont espacés uniformément.
Sass Swing met à disposition la classe .navbar
à utiliser avec un autre tag que <nav>
tel qu'une <div>
. Dans ce cas, il faudra utiliser l'attribut d'accessibilité : role="navigation"
pour identifier explicitement, le conteneur comme une région de navigation pour les utilisateurs de technologies d'assistance.
Adaptation et menu "burger"
Pour créer un menu burger, qui s'adaptera en fonction des dimensions de la surface d'affichage est très simple.
Il faut tout d'abord englober le menu <nav>
dans un élément <div>
, <header>
, <footer>
etc.. et lui ajouter la classe navigation
.
Sass Swing n'utilise pas par défaut de Javascript. A la place il utilise une checkbox pour contrôler l'ouverture et la fermeture du menu.
La philosophie étant Mobile-First, le burger par défaut est visible. Pour l'interaction celui-ci est affiché via une balise <label>
.
Pour contrôler le comportement du menu, dans le conteneur navigation
, il faudra lui ajouter des classes supplémentaires telle que navigation--sticky
ou navigation--fixed
qui permet de garder le menu visible.
Pour contrôler, afficher le menu complet et cacher le bouton burger, il suffit d'ajouter la classenavigation-toggle
et de la préfixer avec le point d'arrêt choisi pour contrôler ce comportement.
Il faut également englober le menu principal, généralement décrit via une balise <ul>
avec une balise <div>
avec comme classe navbar__menu
Sous-menus
L'ajout de sous-menu est aisée. Pour se faire, il suffit d'ajouter la classe .dropdown-item
à un élément <li>
du menu. Puis d'ajouter un enfant de type <ul>
.
Pour personnaliser encore plus ce sous-menu, il faut ajouter un conteneur (une "div" par exemple) avec la classe .dropdown-item__menu
qui englobera tous les éléments du sous-menu.
La fonctionnalité Menu déroulant fait partie des composants EXTRA. Elle peut être utilisée n'importe où dans la page, pour créer un menu s'affichant au survol. Elle peut s'intégrer facilement à l'intérieur d'une barre de navigation.