Comment puis-je faire apparaître horizontalement les éléments de ma liste à l'aide de CSS?
#div_top_hypers {
background-color:#eeeeee;
display:inline;
}
#ul_top_hypers {
display: inline;
}
<div id="div_top_hypers">
<ul id="ul_top_hypers">
<li>‣ <a href="" class="a_top_hypers"> Inbox</a></li>
<li>‣ <a href="" class="a_top_hypers"> Compose</a></li>
<li>‣ <a href="" class="a_top_hypers"> Reports</a></li>
<li>‣ <a href="" class="a_top_hypers"> Preferences</a></li>
<li>‣ <a href="" class="a_top_hypers"> logout</a></li>
</ul>
</div>
Les éléments de liste sont normalement des éléments de bloc. Transformez-les en éléments intégrés via la propriété display
.
Dans le code que vous avez donné, vous devez utiliser un sélecteur de contexte pour que la propriété display: inline
S'applique aux éléments de la liste, au lieu de la liste elle-même (appliquer display: inline
À la liste globale n'aura aucun effet. ):
#ul_top_hypers li {
display: inline;
}
Voici l'exemple de travail:
#div_top_hypers {
background-color:#eeeeee;
display:inline;
}
#ul_top_hypers li{
display: inline;
}
<div id="div_top_hypers">
<ul id="ul_top_hypers">
<li>‣ <a href="" class="a_top_hypers"> Inbox</a></li>
<li>‣ <a href="" class="a_top_hypers"> Compose</a></li>
<li>‣ <a href="" class="a_top_hypers"> Reports</a></li>
<li>‣ <a href="" class="a_top_hypers"> Preferences</a></li>
<li>‣ <a href="" class="a_top_hypers"> logout</a></li>
</ul>
</div>
Vous pouvez également les définir pour flotter à droite.
#ul_top_hypers li {
float: right;
}
Cela leur permet de rester au niveau du bloc, mais apparaîtra sur la même ligne.
Définissez la propriété display
sur inline
pour la liste à laquelle vous souhaitez que cela s'applique. Il y a une bonne explication sur l'affichage des listes sur A List Apart .
Comme @alex l'a dit, vous pourriez le laisser flotter à droite, mais si vous voulez garder le balisage identique, faites-le flotter à gauche!
#ul_top_hypers li {
float: left;
}
Cela fonctionnera pour vous:
#ul_top_hypers li {
display: inline-block;
}
Comme d'autres l'ont mentionné, vous pouvez définir le li
sur display:inline;
ou float
le li
à gauche ou à droite. De plus, vous pouvez aussi utiliser display:flex;
sur le ul
. Dans l'extrait ci-dessous, j'ai également ajouté justify-content:space-around
pour lui donner plus d’espacement.
Pour plus d'informations sur flexbox, consultez ceci guide complet .
#div_top_hypers {
background-color:#eeeeee;
display:inline;
}
#ul_top_hypers {
display: flex;
justify-content:space-around;
list-style-type:none;
}
<div id="div_top_hypers">
<ul id="ul_top_hypers">
<li>‣ <a href="" class="a_top_hypers"> Inbox</a></li>
<li>‣ <a href="" class="a_top_hypers"> Compose</a></li>
<li>‣ <a href="" class="a_top_hypers"> Reports</a></li>
<li>‣ <a href="" class="a_top_hypers"> Preferences</a></li>
<li>‣ <a href="" class="a_top_hypers"> logout</a></li>
</ul>
</div>
#ul_top_hypers li {
display: flex;
}