Jak mogę sprawić, by moje elementy listy były wyświetlane poziomo w rzędzie za pomocą 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
źródło
źródło
Odpowiedzi:
Elementy listy są zwykle elementami blokowymi. Zamień je w elementy wbudowane za pośrednictwem
display
właściwości.W podanym kodzie musisz użyć selektora kontekstu, aby
display: inline
właściwość miała zastosowanie do elementów listy, zamiast samej listy (zastosowaniedisplay: inline
do całej listy nie przyniesie żadnego efektu):Oto działający przykład:
źródło
Możesz także ustawić je tak, aby pływały w prawo.
Dzięki temu mogą nadal być na poziomie bloku, ale pojawią się w tej samej linii.
źródło
Ustaw
display
właściwośćinline
na listę, do której chcesz zastosować. Istnieje dobre wyjaśnienie wyświetlania list w A List Apart .źródło
Jak @alex powiedział pan mógł go unosić w porządku, ale jeśli chciał zachować znaczników samo, unoszą go w lewo!
źródło
To zadziała dla Ciebie:
źródło
Jak wspominają inni, można ustawić
li
siędisplay:inline;
lub w lewo lub w prawo. Dodatkowo możesz również użyć na . W poniższym fragmencie dodałem również, aby nadać mu więcej odstępów.float
li
display:flex;
ul
justify-content:space-around
Aby uzyskać więcej informacji na temat flexbox, zapoznaj się z tym kompletnym przewodnikiem .
źródło
źródło