自適應佈局webkit-box的用法

Flexible Box Model(靈活盒子模型)

在日常的web橫排佈局中,會常常用到float或display:inline-block,可是在多種不一樣寬度的移動設備的自適應佈局中用的話,還得設置百分比寬度和考慮清除浮動。而Flexible Box Model能夠自動計算寬度和自適應,更加方便。 Flexible Box Model有幾個屬性:

一、box-orient          在父元素上設置   子元素排列 vertical (垂直) or horizontal(水平)

二、box-flex               在子元素上設置   兄弟元素之間比例,僅做一個係數

三、box-align             在父元素上設置    box 排列

四、box-direction    在父元素上設置    box 方向  可設置reverse排序相反

五、box-flex-group  在子元素上設置   以組爲單位的流體系數

六、box-ordinal-group    以組爲單位的子元素排列方向

七、box-pack              在父元素上設置   可設置center和vertically


如下是關於flexible box的幾個實例

一、三列自適應佈局,且有固定margin

<style>
    *{
        margin:0;
        padding:0;
    }
    .wrap {
        display: -webkit-box;
        -webkit-box-orient: horizontal;
    }
    .child {
        min-height: 200px;
        border: 2px solid #666;
        -webkit-box-flex: 1;
        margin: 10px;
        font-size: 100px;
        font-weight: bold;
        font-family: Georgia;
        -webkit-box-align: center;
    }
</style>
<div class="wrap">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>
</div>

二、當一列定寬,其他兩列分配不一樣比例亦可(三列布局,一列定寬,其他兩列按1:2的比例自適應):

<style>
    *{
        margin:0;
        padding:0;
    }
    .wrap {
        display: -webkit-box;
        -webkit-box-orient: horizontal;
    }
    .child {
        min-height: 200px;
        border: 2px solid #666;
        margin: 10px;
        font-size: 40px;
        font-weight: bold;
        font-family: Georgia;
        -webkit-box-align: center;
    }
    .w200 {width: 200px}
    .flex1 {-webkit-box-flex: 1}
    .flex2 {-webkit-box-flex: 2}
</style>

<div class="wrap">
    <div class="child w200">200px</div>
    <div class="child flex1">比例1</div>
    <div class="child flex2">比例2</div>
</div>

三、一個常見的web page 的基本佈局:

<style>
    *{
        margin:0;
        padding:0;
    }
    header, footer, section {
    border: 10px solid #333;
    font-family: Georgia;
    font-size: 40px;
    text-align: center;
    margin: 10px;
    }
    #doc {
    width: 80%;
    min-width: 600px;
    height: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin: 0 auto;
    }
    header,
    footer {
    min-height: 100px;
    -webkit-box-flex: 1;
    }
    #content {
    min-height: 400px;
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    }

    .w200 {width: 200px}
    .flex1 {-webkit-box-flex: 1}
    .flex2 {-webkit-box-flex: 2}
    .flex3 {-webkit-box-flex: 3}
</style>

<div id="doc">
    <header>Header</header>
    <div id="content">
        <section class="w200">定寬200</section>
        <section class="flex3">比例3</section>
        <section class="flex1">比例1</section>
    </div>
    <footer>Footer</footer>
</div>css

 

更詳細的能夠查看--->這裏web

相關文章
相關標籤/搜索