1. 程式人生 > >css多種方式實現等寬佈局

css多種方式實現等寬佈局

本文講的等寬佈局是在不手動設定元素寬度的情況下,使用純css實現各個元素寬度都相當的效果。

1、使用table-cell實現(相容ie8)


<style>
    body,div{
        margin: 0;
        padding: 0;
    }
    .table-layout{
        display: table;/*父元素必須設定為table*/
        table-layout: fixed;/*這個屬性一定要有,否則達不到效果*/
        width: 50%;
        margin: 20px auto;
    }
    .table-cell-layout{
        display: table-cell;/*子元素必須設定為table-cell*/
        height: 40px;
        border: 1px solid #666;
        border-left: none;
    }
    .table-cell-layout:first-child{
        border-left: 1px solid #666;
    }
</style>

<body>
    <ul class="table-layout">
        <li class="table-cell-layout">li1</li>
        <li class="table-cell-layout">li2</li>
        <li class="table-cell-layout">li3</li>
        <li class="table-cell-layout">li4</li>
        <li class="table-cell-layout">li5</li>
    </ul>
</body>

2、使用flex佈局來實現


<style>
    body,div{
        margin: 0;
        padding: 0;
    }
    .flex-layout{
        display: flex;
        width: 50%;
        margin: 20px auto;
    }
    .flex-item{
        flex: 1;
        height: 40px;
        border: 1px solid #666;
        border-left: none;
    }
    .flex-item:first-child{
        border-left: 1px solid #666;
    }
</style>

<body>
    <ul class="flex-layout">
        <li class="flex-item">li1</li>
        <li class="flex-item">li2</li>
        <li class="flex-item">li3</li>
        <li class="flex-item">li4</li>
        <li class="flex-item">li5</li>
    </ul>
</body>

來源:https://segmentfault.com/a/1190000017764682