Подтвердить что ты не робот

Нарисуйте элементы списка <li> чтобы заполнить ширину <ul>

У меня есть неупорядоченный список (<ul>) с различным количеством элементов (<li>) в нем. Я хочу использовать один стиль CSS, который позволяет элементам растягиваться до ширины списка.

Это то, что у меня есть:

enter image description here

Это то, что я хочу:

enter image description here

HTML:

These 4 items should fill the width:<br/>
<ul id="ul1">
    <li>item</li>
    <li>item</li>
    <li>item</li>
    <li>item</li>
</ul>
<br/>
These 5 items should fill the width:<br/>
<ul id="ul2">
    <li>item</li>
    <li>item</li>
    <li>item</li>
    <li>item</li>
    <li>item</li>
</ul>
<br/>
And so on and so forth...

Вот вам JSFiddle, чтобы вы начали.

Примечание. Я не хочу жестко кодировать width в CSS. Примечание. Если вам интересно о прецеденте, это структура навигации в отзывчивом дизайне, и я хочу, чтобы элементы списка всегда заполняли доступную ширину независимо от разрешения.

4b9b3361

Ответ 1

Демо HI теперь вы можете это сделать

Используется для display :table и display:table-cell

как этот

Css

ul {
    border:1px dotted black;
    padding: 0;
    display:table;
    width:100%;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
}
li {
    background-color: red;
    display:table-cell;
}
li:nth-child(2n) {
    background-color: #0F0;
}

Теперь определите родителя display:table; или width:100%; и определите своего ребенка display:table-cell;

Демо

Ответ 2

У меня есть самое простое решение. <ul style="padding: 0;"> <li style="list-style-type: none;margin:0;"></li> </ul>

Ответ 3

Вы можете установить их ширину как относительную (например, процентную). Вы можете создавать классы css, например:

.li2Elem{width:50%}
.li3Elem{width:33.3%}
.li4Elem{width:25%}
.li5Elem{width:20%}

и т.д.