开发者

Is there a way to specify different widths for columns in CSS3?

开发者 https://www.devze.com 2022-12-22 21:29 出处:网络
I would like to use CSS to present a two-column layout. The markup I am using is this <div style=\"-webkit-column-count: 2;

I would like to use CSS to present a two-column layout. The markup I am using is this

<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>

Is there a 开发者_如何学JAVAway to give one column a width of 20px and one column a width of, say, 80px?


No, there isn't a way.

The feature is designed for content that flows between equal columns.


Technically it's not possible to do it with the multi-column property only but for a 2-column layout you can accomplish that by setting a negative margin on one of the sides.

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>

See JSFiddle Demo


You could use the 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>

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号