Comment puis-je faire apparaître les éléments de ma liste horizontalement dans une ligne en utilisant 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>
html
css
html-lists
Babiker
la source
la source
Réponses:
Les éléments de liste sont normalement des éléments de bloc. Transformez-les en éléments en ligne via la
display
propriété.Dans le code que vous avez donné, vous devez utiliser un sélecteur de contexte pour que la
display: inline
propriété s'applique aux éléments de la liste, au lieu de la liste elle-même (l'applicationdisplay: inline
à la liste globale n'aura aucun effet):Voici l'exemple de travail:
la source
Vous pouvez également les configurer pour qu'ils flottent vers la droite.
Cela leur permet d'être toujours au niveau du bloc, mais apparaîtra sur la même ligne.
la source
Définissez la
display
propriété surinline
pour la liste à laquelle vous souhaitez que cela s'applique. Il y a une bonne explication de l'affichage des listes sur A List Apart .la source
Comme @alex l'a dit, vous pouvez le faire flotter à droite, mais si vous voulez garder le balisage identique, faites-le flotter vers la gauche!
la source
Cela fonctionnera pour vous:
la source
Comme d'autres l'ont mentionné, vous pouvez définir le
li
surdisplay:inline;
, oufloat
lali
gauche ou la droite. De plus, vous pouvez également utiliserdisplay:flex;
sur leul
. 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 ce guide complet .
la source
la source