CSS 实现左边 div 固定宽度,右边 div 自适应撑满剩下的宽度

2017年5月13日 1.17k 次阅读 0 条评论 0 人点赞

来源:知乎 链接:https://www.zhihu.com/question/37208845/answer/73496709

我个人一般情况下用第一种方法比较简洁;第四种方法比较强大。

(1)使用 float
<div class="use-float">
    <div></div>
    <div></div>
</div>
.use-float>div:first-child{
    width:100px;
    float:left;
}
.use-float>div:last-child{
    overflow:hidden;
}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(2)使用 table

<table class="use-table">
    <tr>
        <td></td>
        <td></td>
    </tr>    
</table>
.use-table{
    border-collapse:collapse;
    width:100%;
}
.use-table>tbody>tr>td:first-child{
    width:100px;
}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(3)用 div 模拟 table

<div class="use-mock-table">
    <div></div>
    <div></div>
</div>
.use-mock-table{
    display:table;
    width:100%;
}
.use-mock-table>div{
    display:table-cell;
}
.use-mock-table>div:first-child{
    width:100px;
}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(4)使用 flex

<div class="use-flex">
    <div></div>
    <div></div>
</div>
.use-flex{
    display:flex;
}
.use-flex>div:first-child{
    flex:none;
    width:100px;
}
.use-flex>div:last-child{
    flex:1;
}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

效果图:(在以上样式基础上,我又加了高度和边框,才能看到下面的样子。。。)

标签:
最后编辑:2018年6月29日

我就是我,是颜色不一样的烟火。

文章评论(0)