淺談CSS實現兩列布局

最近在忙著各種面試,筆試,碰到這樣的問題比較多,打算在這里記錄下自己對兩列布局的一些實現方法的總結

下面我將用三個方法實現左欄固定,右欄自適應寬度的布局

兩列布局
<div class="parent">
     <div class="side"></div>
     <div class="main"></div>
</div>

1.Flex

.parent{
    display: flex;
}

.side{
    width: 200px;
    height: 200px;
    margin-right: 10px;
    background: #555;
}

.main{
    flex: 1;
    background: #ddd;
}

flex 默認有三個屬性 flex-grow , flex-shrink 和 flex-basis,默認值為 0 | 1 | auto

2.Position

.parent{
    position: relative;
}

.side{
    width: 200px;
    height: 200px;
    position: absolute;
    left: 0;
    background: #555;
}

.main{
    height: 200px;
    position: absolute;
    left: 210px;
    right: 0;
    background: #ddd;
}

.main 寬度為默認值 auto,占據整行并根據left、right調整

3.Float

.parent{  
}

.side{
    width: 200px;
    height: 200px;
    float: left;
    background: #555;
}

.main{
    height: 200px;
    margin-left: 210px;
    background: #ddd;
}

具體使用哪一種方式,還是根據實際情況選擇

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • H5移動端知識點總結 閱讀目錄 移動開發基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,628評論 0 26
  • 移動開發基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,518評論 0 6
  • CSS 3中彈性盒布局的最新版概述 在CSS 3中,CSS Flexible Box模塊為一個非常重要的模塊,該模...
    吾名無雙閱讀 1,248評論 0 5
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,807評論 1 92
  • 前言 溫馨提示:本文較長,圖片較多,本來是想寫一篇 CSS 布局方式的,但是奈何 CSS 布局方式種類太多并且實現...
    sunshine小小倩閱讀 3,181評論 0 59