【问题标题】:Grid columns using flexbox with fixed size margin gutters使用具有固定大小边距装订线的 flexbox 网格列
【发布时间】:2016-01-05 19:28:23
【问题描述】:

是否可以将固定边距(例如 5px)应用于 flexbox 布局中的单元格,其中行空间均匀分布在其列之间?

Want我想要实现的:

我当前的 CSS 只会在一行中对齐 3 列:

JSFiddle

.row {
    display: flex;
    flex-flow: row wrap;
	box-shadow: 0 0 0 1px green;
}

.col {
    flex: 0 0 25%;
    text-align: center;
	box-shadow: 0 0 0 1px blue;
    background-color: steelblue;
	
	margin: 5px;
}
<div class="row">
    <div class="col">
		<div class="panel">1</div>
	</div>
    <div class="col">
		<div class="panel">2</div>
	</div>
    <div class="col">
		<div class="panel">3</div>
	</div>
    <div class="col">
		<div class="panel">4</div>
	</div>
	<div class="col"><div class="panel">5</div></div>
</div>

【问题讨论】:

    标签: html css flexbox grid-layout


    【解决方案1】:

    您可以将calc() 用于flex-basis 长度(在您的情况下-它是简写属性flex),10px 因为margin-left: 5pxmargin-right: 5px

    JSFiddle

    .row {
        display: flex;
        flex-flow: row wrap;
        box-shadow: 0 0 0 1px green;
    }
    
    .col {
        flex: 0 0 calc(25% - 10px);
        text-align: center;
        box-shadow: 0 0 0 1px blue;
        background-color: steelblue;
        margin: 5px;
    }
    <div class="row">
        <div class="col">
            <div class="panel">1</div>
        </div>
        <div class="col">
            <div class="panel">2</div>
        </div>
        <div class="col">
            <div class="panel">3</div>
        </div>
        <div class="col">
            <div class="panel">4</div>
        </div>
        <div class="col">
            <div class="panel">5</div>
        </div>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-10
      • 2017-05-20
      • 2019-11-23
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      相关资源
      最近更新 更多