Что ж, это решение может и не дать конкретного ответа на ваш вопрос, но может помочь вам решить вашу проблему:
Вы не сможете сделать это, используя метод float, как вы предлагаете. Единственное решение, которое я могу придумать, состоит в том, чтобы разделить элементы на группы DIV
s (или выбранный вами блочный элемент), которые плавают влево. По сути, вы помещаете каждый UL
, принадлежащий той же оси Y, в некоторый элемент столбца:
<div class="col">
<ul><!-- LI elements here --></ul>
<ul><!-- LI elements here --></ul>
</div>
<div class="col">
<ul><!-- LI elements here --></ul>
<ul><!-- LI elements here --></ul>
</div>
<div class="col">
<ul><!-- LI elements here --></ul>
</div>
<div class="col">
<ul><!-- LI elements here --></ul>
</div>
Я знаю, что это не совсем семантически, потому что вы добавляете элементы исключительно для презентационных целей, однако я не вижу другого способа достичь этого (если вы не можете использовать абсолютное / относительное позиционирование - что может быть возможно, если Вы знаете количество элементов в каждом списке).
В качестве альтернативы, возможно, есть плагин jQuery или что-то в этом роде, которое позволит вам динамически размещать элементы, но я не знаю, в макушке.