existe-t-il un moyen de désactiver le navBar responsive dans Bootstrap 4? Je ne veux pas du menu déroulant car dans la version mobile, il est toujours possible de voir les 2 liens à côté de la marque. En plus, j'aimerais savoir s'il est possible de placer les liens vers la droite dans le bar. Pull-xs-right ne semble pas fonctionner correctement.
Mon code actuel ressemble à ceci:
<nav class="navbar navbar-fixed-top navbar-toggleable-sm navbar-light bg-faded">
<a href="/" class="navbar-brand">PIM</a>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item"><Link class="nav-link" to="/login">Login</Link></li>
<li class="nav-item"><Link class="nav-link" to="/signup">Sign up</Link></li>
</ul>
</nav>
Merci d'avance.
Le moyen le plus simple consiste à utiliser le navbar-toggleable-xl
navbar-expand
class (maintenant dans Bootstrap 4 ) pour que le menu ne soit pas mobile (horizontal) dans toutes les largeurs.
<nav class="navbar navbar-expand navbar-dark bg-primary">
<a class="navbar-brand" href="#">Navbar</a>
<div class="navbar-collapse collapse">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
</ul>
</div>
</nav>
Démo: Bootstrap 4 Désactiver le navigateur réactif
Vous pouvez également utiliser les utilitaires flexbox
pour empêcher la barre de navigation verticale sur des écrans plus petits. Le flex-nowrap flex-row
permet à la barre de navigation de rester horizontale à toutes les largeurs ...
<nav class="navbar navbar-light bg-faded justify-content-between flex-nowrap flex-row">
<a href="/" class="navbar-brand">PIM</a>
<ul class="nav navbar-nav flex-row">
<li class="nav-item"><a class="nav-link pr-3" href="/login">Login</a></li>
<li class="nav-item"><a class="nav-link" href="/signup">Sign up</a></li>
</ul>
</nav>
Comment ça marche:
navbar-expand
- toujours horizontal, non réductiblenavbar-expand-xl
- s’effondre en mobile <1200pxnavbar-expand-lg
- s'effondre dans un mobile <992pxnavbar-expand-md
- se replie sur un mobile <768pxnavbar-expand-sm
- se replie sur le mobile <576px
non navbar-expand
- toujours mobile, réduit (par défaut)
Je suggérerais d'utiliser un simple nav, mais si vous avez besoin du style de la barre de navigation, vous pouvez la contourner en ajoutant les classes d'assistance et en en supprimant certaines pour que cela fonctionne comme vous le souhaitez. Cela devrait afficher les éléments de lien sur le mobile sans la fonctionnalité de liste déroulante du bouton bascule.
<nav class="navbar navbar-fixed-top navbar-toggleable-sm navbar-light bg-faded">
<a href="/" class="navbar-brand">PIM</a>
<div id="navbarNav" class="navbar-collapse">
<ul class="navbar-nav">
<li class="nav-item">
<Link class="nav-link" to="/login"> Login
</Link>
</li>
<li class="nav-item">
<Link class="nav-link" to="/signup"> Sign up
</Link>
</li>
</ul>
</div>
</nav>
JSFIDDLE pour référence.