Skip to content
HTML
<div class="parent">
    <div class="child" style="background: lightblue"></div>
    <div class="child" style="background: lightgreen"></div>
    <div class="child"  style="background: red"></div>
    <div class="child"></div>
</div>

方式1 浮动布局(float+box-sizing+border) ​

css
.parent{
    overflow: hidden;//成为BFC
    background: gray
}
.child{
    float: left;//成为BFC
    height: 100px;
    width: 25%;
    padding: 20px;
    border: 5px solid;
    box-sizing: border-box;
}

方式2 浮动布局(float+calc) ​

css
.parent {
    overflow: hidden;
    background: gray
}

.child {
    float: left;
    height: 100px;
    width: calc(25% - 10px);
    border: 5px solid;
}

方式3 行内块级元素等分布局(inline-block、box-sizing=border-box、font-size=0) ​

css
.parent {
    font-size: 0;
    overflow: hidden;
    background: gray
}

.child {
    display: inline-block;
    height: 100px;
    width: 25%;
    box-sizing: border-box;
    border: 5px solid;
}

方式4 行内块级元素等分布局(inline-block、calc、font-size=0) ​

css
.parent {
    font-size: 0;
    overflow: hidden;
    background: gray
}

.child {
    display: inline-block;
    height: 100px;
    width: calc(25% - 10px);
    border: 5px solid;
}

方式5 flex布局 ​

css
.parent {
    overflow: hidden;
    background: gray;
    display: flex;
}

.child {
    flex: 1;
    height: 100px;
    border: 5px solid;
}

方式6 table布局 ​

css
.parent {
    overflow: hidden;
    background: gray;
    display: table;
}

.child {
    display: table-cell;
    height: 100px;
    border: 5px solid;
}

方式7 grid布局 ​

css
.parent {
    overflow: hidden;
    background: gray;
    display: grid;
    grid-template-columns: 25% 25% 25% 25%;
}

.child {
    height: 100px;
    border: 5px solid;
}

记录 · 实践 · 分享