Comment puis-je créer un espace plus grand entre chaque lien de ma barre de navigation afin qu'ils soient plus éloignés? Est-ce quelque chose que je change le CSS ou HTML? Voici comment j'ai implémenté ma barre de navigation dans le code HTML:
<div class="navbar-wrapper">
<div class="container">
<div class="navbar navbar-static-top" role="navigation">
<div class="container full-width">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"></a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="#home_page">Home</a></li>
<li><a href="#about_page">About</a></li>
<li><a href="#portfolio_page">Portfolio</a></li>
<li><a href="#contact_page">Contact</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
Vous pouvez changer cela dans votre CSS avec la propriété padding
:
.navbar-nav > li{
padding-left:30px;
padding-right:30px;
}
Aussi, vous pouvez définir margin
.navbar-nav > li{
margin-left:30px;
margin-right:30px;
}
Rappelez-vous simplement que la modification du remplissage ou des marges sur tous les éléments de la grille bootstrap) est susceptible de créer des éléments débordants à un moment donné, à des largeurs d'écran inférieures.
Si cela se produit, n'oubliez pas d'utiliser les requêtes de média CSS et d'inclure uniquement les marges aux largeurs d'écran qui peuvent le gérer.
En accord avec l'approche mobile-first du framework dans lequel vous travaillez (bootstrap), il est préférable d'ajouter le rembourrage aux largeurs qui le gèrent, plutôt que de l'exclure aux largeurs qui ne le peuvent pas.
@media (min-width: 992px){
.navbar li {
margin-left : 1em;
margin-right : 1em;
}
}
À partir de Bootstrap 4, vous pouvez utiliser les tilitaires d'espacement .
Ajouter par exemple px-2
dans les classes du nav-item
pour augmenter le rembourrage.
Je vous suggère de les espacer uniformément, comme indiqué dans cette réponse ici
.navbar ul {
list-style-type: none;
padding: 0;
display: flex;
flex-direction: row;
justify-content: space-around;
flex-wrap: nowrap; /* assumes you only want one row */
}