来源:知乎 链接: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;
}

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

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