Ответ 1
Нет, нет способа.
Функция предназначена для контента, который течет между равными столбцами.
Я хотел бы использовать CSS для представления двухколоночного макета. Разметка, которую я использую, это
<div style="-webkit-column-count: 2;
-webkit-column-rule: 1px solid black;
-webkit-column-width: 80px;
margin-left:20px;margin-top:20px;">
<div id="picturebox" style="">picture box</div>
<div id="nme">name</div>
</div>
Есть ли способ дать одному столбцу ширину 20 пикселей и один столбец шириной, скажем, 80px?
Нет, нет способа.
Функция предназначена для контента, который течет между равными столбцами.
Технически это невозможно сделать только с свойство multi-column, но для двухколоночного макета вы можете это сделать, установив отрицательный margin
на одной из сторон.
div {
width: 400px;
background-color: lightgreen;
}
ul {
-moz-columns: 2 auto;
-webkit-columns: 2 auto;
columns: 2 auto;
-moz-column-gap: 80px;
-webkit-column-gap: 80px;
column-gap: 80px;
margin-right: -80px;
}
<div>
<ul>
<li>Lorem Ipsum Lorem Ipsum</li>
<li>Lorem Ipsum Lorem Ipsum</li>
<li>Lorem Ipsum Lorem Ipsum</li>
<li>Lorem Ipsum Lorem Ipsum</li>
<li>Lorem Ipsum Lorem Ipsum</li>
<li>Lorem</li>
<li>Lorem</li>
<li>Lorem</li>
<li>Lorem</li>
</ul>
</div>
Вы также можете сделать это, просто увеличив ширину элементов в одном столбце и уменьшив их в другом - и применив поле влево или вправо, чтобы переместить их соответственно.
Вы можете использовать свойство grid:
.container-grid {
display: grid;
grid-template-columns: 20px 50px; /*columns widths*/
height: 40vh;
}
.col-1 {
background-color: blue;
}
.col-2 {
background-color: green;
}
<div class="container-grid">
<div class="col col-1"></div>
<div class="col col-2"></div>
</div>