我想使用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>
有没有办法让一列宽度为20px,一列宽度为80px?
答案 0 :(得分:13)
不,没有办法。
该功能适用于在相等列之间流动的内容。
答案 1 :(得分:10)
从技术上讲,仅使用multi-column property无法进行此操作,但对于2列布局,您可以通过在其中一侧设置负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>
答案 2 :(得分:1)
您可以使用grid property:
.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>