Maison >interface Web >tutoriel CSS >Comment Flexbox peut-il résoudre le problème de la répartition uniforme des éléments de la barre de navigation ?
Étendre les éléments de navigation horizontaux fixes de manière uniforme et complète sur un conteneur désigné reste un défi répandu dans la conception Web. Pour bien comprendre ce problème, nous commencerons par explorer la question qui a lancé cette discussion.
L'utilisateur vise à répartir uniformément six éléments de navigation dans un conteneur de 900 px, en garantissant un espace cohérent entre eux. Initialement, l'utilisateur utilisait le code CSS et HTML suivant :
nav ul { width: 900px; margin: 0 auto; } nav li { line-height: 87px; float: left; text-align: center; width: 150px; }
<ul> <li>HOME</li> <li>ABOUT</li> <li>BASIC SERVICES</li> <li>OUR STAFF</li> <li>CONTACT US</li> </ul>
Cependant, cette approche se heurtait à deux limites :
Dans la conception Web moderne, la solution optimale à ce problème utilise le modèle flexbox via CSS. En appliquant les déclarations suivantes au conteneur, nous pouvons obtenir la répartition souhaitée :
.container { display: flex; justify-content: space-between; }
L'affichage : flex; La propriété active flexbox, transformant le conteneur en conteneur flexbox. Le contenu-justifié : espace-entre ; property répartit les éléments uniformément dans le conteneur, en les justifiant jusqu'aux bords.
En fonction de la distribution souhaitée, différentes valeurs pour justifier-contenu peuvent être utilisées :
Voici un exemple démontrant l'utilisation de flexbox pour répartir uniformément la navigation items :
.nav-container { display: flex; justify-content: space-between; } .nav-item { background-color: gold; padding: 10px; }
<div class="nav-container"> <div class="nav-item">HOME</div> <div class="nav-item">ABOUT</div> <div class="nav-item">SERVICES</div> <div class="nav-item">TEAM</div> <div class="nav-item">CONTACT US</div> </div>
Remarque : Cette solution nécessite la prise en charge d'un navigateur moderne. Pour une compatibilité ascendante avec les anciens navigateurs, des CSS supplémentaires peuvent être utilisés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!