Я пытаюсь распространить список <li>, выровненных по горизонтали, используя float:left по моим <ul>.
<li>
float:left
<ul>
Кто-нибудь знает, как это сделать?
Ответ заключается в использовании display: table; для элемента <ul> и display: table-cell; для элементов <li>.
display: table;
display: table-cell;
Есть ли причина, по которой вы не можете просто установить их на display: inline; (или inline-block)?Например:
display: inline;
inline-block
http://jsfiddle.net/TKmR5/
li { display: inline-block; } ul{ text-align: center; }
Затем отрегулируйте отступы или поля элементов li, чтобы распределить их по разным или меньшим значениям по всей ул.
Вы можете использовать display: inline-block;, это работает в современных браузерах.
display: inline-block;
Пример: http://jsfiddle.net/joar/ELpDD/
Как сказал Фила в комментариях к # 7131346 ,
[…] «неуклюжее пространство между элементами» вызвано не переустанавливанием полей и отступов…
Плавайте влево и делите ширину ul на число li s. Я думаю, что вы ищете. Посмотрите здесь: http://jsfiddle.net/b2nsW/
ul
li
HTML:
<ul> <li>item</li> <li>item</li> <li>item</li> <li>item</li> </ul>
CSS:
ul { width: 250px; background: red; padding: 0; margin: 0; overflow: auto; } li { width: 20%; float: left; background: green; margin: 2.5%; }