1. 程式人生 > >聖盃+雙飛翼 自適應佈局

聖盃+雙飛翼 自適應佈局

一、聖盃佈局

左右固定200px,中間自適應

  • 左右兩個div左右浮動,中間div寫到前面
  • 通過margin-left:-100%;來調整到同一行
  • 父容器新增左右padding,左右div相對定位

詳細程式碼如下:


<!doctype html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>聖盃佈局</title>
        <style>        
*{
    margin:0;
}
html{
    height:100%;
}
.box{
    width:800px;
    height:300px;
    border:1px solid black;
    margin:0 auto;
    background:#0ff;
    padding:0px 200px;
}
.left{
    width:200px;
    height:300px;
    background:#f00;
    float:left;
    margin-left:-100%;
    position:relative;
    left:-200px;
}
.center{
    width:100%;
    height:300px;
    background:#0f0;
    float:left;    
}
.right{
    width:200px;
    height:300px;
    background:blue;
    float:right;    
    margin-left:-100%;
    position:relative;
    right:-200px;    
}
        </style>
    </head>
    <body>
        <div class="box">
            <div class="center"></div>
            <div class="left"></div>            
            <div class="right"></div>
        </div>
    </body>
</html>

執行結果如下圖:

二、雙飛翼佈局

左右固定200px,中間自適應

  • 左右兩個div左右浮動,中間div寫到前面
  • 通過margin-left:-100%;來調整到同一行
  • 中間div新增一個子節點div,設定margin調整位置

具體程式碼如下:


<!doctype html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>雙飛翼佈局</title>
        <style>
        *{
    margin:0;
}
html{
    height:100%;
}
.box{
    width:1000px;
    height:300px;
    border:1px solid black;
    margin:0 auto;
    background:#0ff;    
}
.left{
    width:200px;
    height:300px;
    background:#f00;
    float:left;
    margin-left:-100%;    
}
.center{
    width:100%;
    height:300px;
    background:#0f0;
    float:left;    
}
.right{
    width:200px;
    height:300px;
    background:blue;
    float:right;    
    margin-left:-100%;    
}
.conter{
    margin:0 200px;
}
        </style>
    </head>
    <body>
        <div class="box">
            <div class="center">
                <div class="conter">
                    雙飛翼佈局
                </div>
            </div>
            <div class="left"></div>            
            <div class="right"></div>
        </div>    
    </body>
</html>

執行結果如下圖:

加關注 持續更新

原文地址:https://segmentfault.com/a/1190000015634014