Я бы хотел выложить список, такой как следующий, в 2/3 равномерно расположенных столбцах
<ul>
<li>one<li>
<li>two<li>
<li>three<li>
<li>four<li>
<li>five<li>
<li>six<li>
<li>seven<li>
<li>eight<li>
<li>nine<li>
</ul>
Одним из решений является разделение списка на два списка и размещение одного из них справа, возможно с полем, например
<div id="col2">
<ul>
<li>one<li>
<li>two<li>
<li>three<li>
<li>four<li>
<li>five<li>
</ul>
</div>
<ul>
<li>six<li>
<li>seven<li>
<li>eight<li>
<li>nine<li>
</ul>
#col2 {
float: right;
margin-right: 450px;
}
Это работает нормально, но имеет ряд недостатков:
- (Не) семантическая разметка - это на самом деле не 2 списка, я разделил один список на 2, просто чтобы было проще оформить
- Поле должно быть вручную установлено на что-то, что создает видимость равномерного распределения
- Если браузер сделан достаточно узким, правый столбец переходит во второй.
Есть ли лучший способ сделать это, желательно без использования таблицы?
Обновление:
Я опробовал Метод 1 , но я вижу странные результаты. Если вы посмотрите на этот список с 3 столбцами , то увидите, что в первых 2 столбцах есть «дыры». Есть идеи почему?