兩種方式實現(xiàn)CSS雙飛翼布局

雙飛翼布局,就是兩端固定寬高,中間自適應(yīng)的三欄布局

先來張圖,左邊和右邊的灰色塊是固定寬高的,中間綠色的區(qū)域是寬高自適應(yīng)

雙飛翼布局

方式一:通過flex彈性布局來實現(xiàn)

看代碼

//HTML結(jié)構(gòu),div2是中間的自適應(yīng)區(qū)域
...
<body>
    <div class="wrap">
        <div class="div1"></div>  
        <div class="div2"></div>
        <div class="div3"></div>
    </div>
</body>
...
*{  //先簡單粗暴的解決一下瀏覽器的默認樣式  
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing:border-box;   //使用border-box,盒模型好計算,媽媽再也不用擔(dān)心我算不清塊寬高了
}
.wrap{
    width: 100%;
    height: 100%;
    display: flex;     //使用彈性布局
    flex-flow:row nowrap;  //以沿主軸方向行顯示,不換行,從而來顯示3個塊
    justify-content:space-around;  //這一個加和不叫其實也沒事,加上去的意思就是兩端對齊
}

[class^='div']{  // 給所有的div都加上高和邊框樣式,方便觀看,不然都縮成一條線了
    height: 400px;
    border: 1px solid #f00;
}

.div1,.div3{  //給兩端的div固定的寬
    width: 200px;
    background-color: #ccc;
    flex-shrink: 1; //默認是1,所以不用寫也沒事,寫出來自是表達這個意思
}
.div2{
    background-color: #0f0;
    flex-grow:1;  //這個比較重要,作用是讓第二個塊的寬度撐滿剩余的空間
}

方式二:通過定位來實現(xiàn)

HTML結(jié)構(gòu)不變,看樣式

.wrap{
    width: 100%;  //同樣實現(xiàn)寬高100%鋪開
    height: 100%;
    position: relative;  //父層添加相對定位,讓子元素相對父層來定位
}
[class^='div']{
    height: 400px;
    border: 1px solid #f00;
}
.div1,.div3{
    position: absolute;
    width: 200px;
    background-color: #ccc;
}
.div1{
    left: 0;  //固定在父層的左側(cè)
    top: 0;
}
.div3{
    right: 0;  //固定在父層的右側(cè)
    top: 0;
}
.div2{
    background-color: #0f0;
    /*這個是關(guān)鍵,我們沒有給中間的div2添加過寬屬性,所以默認占用父層寬的100%,
     由于兩側(cè)塊寬是固定的,所以中間的自適應(yīng)塊左右分別200px的外邊距中間的content區(qū)域就會實現(xiàn)自適應(yīng)*/
    margin: 0 200px;  
}

效果

雙飛翼布局效果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 14,199評論 1 92
  • 前言 溫馨提示:本文較長,圖片較多,本來是想寫一篇 CSS 布局方式的,但是奈何 CSS 布局方式種類太多并且實現(xiàn)...
    sunshine小小倩閱讀 3,271評論 0 59
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,363評論 3 30
  • 三欄式布局 涉及浮動和清除浮動,主要講解“圣杯”和“雙飛翼”兩種解決方法。這兩種方法實現(xiàn)的都是三欄布局,兩邊的盒子...
    紫電倚青霜閱讀 2,415評論 0 6
  • 敏感的人易缺乏安全感和過分自卑:遇到點事常會設(shè)身處地的為他人著想,生怕自己的言行舉止惹得他人不愉快;其實,往往不愉...
    吳虞公子閱讀 227評論 0 0

友情鏈接更多精彩內(nèi)容