Всем привет! Обычным способом можно разбить "ul" на columns, прописав в стилях списка "columns: 3". Он сделает 3 колонки, по 2 "li" в каждой. В моем случае нужно сделать это с определенных мест, чтобы выглядело это, как в прикрепленном изображении. Или же как то указать количество "li" в каждой из колонок. Прошу вашей помощи, друзья!
<ul>
<li class="list-item-1">List Item 1</li>
<li class="list-item-2">List Item 2</li>
<li class="list-item-3">List Item 3</li>
<li class="list-item-4">List Item 4</li>
<li class="list-item-5">List Item 5</li>
<li class="list-item-6">List Item 6</li>
</ul>
ul {columns:3}
li:nth-child(4),
li:nth-child(6) {
-webkit-column-break-before: always;
}
<ul>
<li class="list-item-1">List Item 1</li>
<li class="list-item-2">List Item 2</li>
<li class="list-item-3">List Item 3</li>
<li class="list-item-4">List Item 4</li>
<li class="list-item-5">List Item 5</li>
<li class="list-item-6">List Item 6</li>
</ul>
Всё.
Решил сделать три отдельных li, и в каждый добавить новый ul.
C margin-padding
и list-style: none;
уже сами разберетесь)
let ul = document.getElementById('ul');
let li = ul.querySelectorAll('li');
let uls = [], lis = [];
for( let i = 0; i < 3; i++ ){
uls[i] = document.createElement('ul');
lis[i] = document.createElement('li');
} // Создаю три новых li, чтобы добавить их к основному ul
// И еще три ul, которые добавятся в созданные li
let count = [3, 2, 1]; // Начальное распределение элементов
for( let i = 6; i < li.length; i++ ){
count[ i % 3 ]++;
} // В случае добавления новых - сверху будет докидываться +1 элем, слева направо.
console.log( JSON.stringify( count ) );
let sum = 0;
for( let i = 0; i < count.length; i++ ){
for( let j = sum; j < sum + count[i]; j++ ){
uls[i].appendChild( li[j] );
} // Все li в промежутке от sum до sum + count[i] — добавляются в созданные ul
sum += count[i];
}
lis.forEach(function(e, i){
e.appendChild( uls[i] ); // созданные ul пихаются в созданные li
ul.appendChild(e); // Созданные li пихаются в основной блок.
});
#ul {
display: flex;
}
#ul > li {
padding: 0 25px;
}
<ul id="ul">
<li class="list-item-1">List Item 1</li>
<li class="list-item-2">List Item 2</li>
<li class="list-item-3">List Item 3</li>
<li class="list-item-4">List Item 4</li>
<li class="list-item-5">List Item 5</li>
<li class="list-item-6">List Item 6</li>
<li class="list-item-7">List Item 7</li>
<li class="list-item-8">List Item 8</li>
<li class="list-item-9">List Item 9</li>
</ul>
P.s. хотя можно было сделать просто три ul и поставить их рядом, а родителя вообще удалить. Но мало-ли, вдруг там еще что-то привязано к этому элементу.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как переопределить в module scss глобальный класс officeUI fabric?
нам в универе сказали, что мы обязаны постоянно удалять массивы, если они динамические, но я так и не понял зачем и почемуВот, например, код...
Я уже долго пытаюсь придумать, как можно организовать игровую механику классического WormsМне удалось найти разные варианты, но все они со своими...