CSS三欄布局的N種實現(xiàn)

三欄布局:頁面分為左中右三部分。左右固定吝秕,中間部分自適應泊脐。

1. 絕對定位法

這里的絕對定位是指對左右部分進行絕對定位。
HTML結構烁峭。

<div class="left">Left</div>
<div class="main">Main</div>
<div class="right">Right</div>

代碼容客。

//簡單的進行CSS reset
body,html{
    height:100%;
    padding: 0px;
    margin:0px;
}
//左右絕對定位
.left,.right{
    position: absolute;
    top:0px;
    background: red;
    height:100%;
}
.left{
    left:0;
    width:100px;
}
.right{
    right:0;
    width:200px;
}
//中間使用margin空出左右元素所占據的空間
.main{
    margin:0px 200px 0px 100px;
    height:100%;
    background: blue;
}
// 上述的高度可以不必進行設置,用內容撐開元素高度即可约郁。
height:100%
高度由內容撐開

這種方法有一個弊端缩挑,就是如果中間欄含有最小寬度限制,或是含有寬度的內部元素鬓梅,當瀏覽器寬度小到一定程度供置,會發(fā)生層重疊的情況。

中間欄內嵌一個寬度為200的span元素绽快,發(fā)生重疊

2. 圣杯布局

3. 雙飛翼布局

淺談雙飛翼布局和圣杯布局(一)
淺談雙飛翼布局和圣杯布局(二)
淺談雙飛翼布局和圣杯布局(三)

4. 自身浮動法

左欄左浮動芥丧,右欄右浮動,中間欄放最后
DOM結構

<body>
    <div class="left"></div>
    <div class="right"></div>
    <div class="main"></div>
</body> 

樣式

    .left {
        background: red;
        float: left;
        width: 150px;
      }
      .right {
        background: red;
        float: right;
        width: 200px;
      }
      .main {
        background: pink;
        margin: 0 200px 0 150px;
      }

效果


這種方式需要注意三個div的順序坊罢,左右兩欄的順序不分先后续担,但是中間一欄必須放在最后。

優(yōu)點是代碼足夠簡潔與高效活孩,缺點是中間主體存在克星物遇,即clear:both屬性。如果要使用此方法诱鞠,需避免明顯的clear樣式挎挖,且主要內容無法最先加載,當頁面內容較多時會影響用戶體驗航夺。

5. flex布局

DOM結構

<div class="container">
      <div class="left">Left</div>
      <div class="main">Main</div>
      <div class="right">Right</div>
</div>

樣式

.container {
          display: flex;
      }
      .main {
          flex-grow: 1;
          height: 300px;
          background-color: red;
      }
      .left {
          order: -1;
          flex: 0 1 200px;
          margin-right: 20px;
          height: 300px;
          background-color: blue;
      }
      .right {
          flex: 0 1 100px;
          margin-left: 20px;
          height: 300px;
          background-color: green;
      }

效果

image.png

6. table布局

DOM結構

<div class="container">
    <div class="left"></div>
    <div class="main"></div>
    <div class="right"></div>
</div>

樣式

.container {
  display: table;
  width: 100%;
}
.left, .main, .right {
  display: table-cell;
}
.left {
  width: 200px;
  height: 300px;
  background-color: red;
}
.main {
  background-color: blue;
}
.right {
  width: 100px;
  height: 300px;
  background-color: green;
}

缺點:無法設置欄間距

End

差不多總結了網上的幾種主流方法蕉朵,有的太小眾的方法就沒有整理。
CSS3的flex教程還是得好好看一看阳掐。
然后還有浮動啊定位啊負邊距啊什么的始衅,要深入研究的話估計也是很長的學習筆記冷蚂。
CSS真是一門玄學。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末汛闸,一起剝皮案震驚了整個濱河市蝙茶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诸老,老刑警劉巖隆夯,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異别伏,居然都是意外死亡蹄衷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門厘肮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來愧口,“玉大人,你說我怎么就攤上這事类茂∷J簦” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵巩检,是天一觀的道長厚骗。 經常有香客問我,道長碴巾,這世上最難降的妖魔是什么溯捆? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮厦瓢,結果婚禮上提揍,老公的妹妹穿的比我還像新娘。我一直安慰自己煮仇,他們只是感情好劳跃,可當我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浙垫,像睡著了一般刨仑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夹姥,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天杉武,我揣著相機與錄音,去河邊找鬼辙售。 笑死轻抱,一個胖子當著我的面吹牛,可吹牛的內容都是我干的旦部。 我是一名探鬼主播祈搜,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼较店,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了容燕?” 一聲冷哼從身側響起梁呈,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蘸秘,沒想到半個月后官卡,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡醋虏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年味抖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灰粮。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖忍坷,靈堂內的尸體忽然破棺而出粘舟,到底是詐尸還是另有隱情,我是刑警寧澤佩研,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布柑肴,位于F島的核電站,受9級特大地震影響旬薯,放射性物質發(fā)生泄漏晰骑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一绊序、第九天 我趴在偏房一處隱蔽的房頂上張望硕舆。 院中可真熱鬧,春花似錦骤公、人聲如沸抚官。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凌节。三九已至,卻和暖如春洒试,著一層夾襖步出監(jiān)牢的瞬間倍奢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工垒棋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卒煞,地道東北人。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓捕犬,卻偏偏與公主長得像跷坝,于是被迫代替她去往敵國和親酵镜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內容