實(shí)現(xiàn)三欄布局

什么是三欄布局卢厂?

三欄布局一般指的是頁(yè)面中一共有三欄赏殃,左右兩欄寬度固定华嘹,中間自適應(yīng)的布局奖地。


三欄布局

實(shí)現(xiàn)方法1. 利用浮動(dòng)

 <div class="wrapper">
        <div class="left"></div>
        <div class="right"></div>
        <div class="middle"></div>
    </div>

注意:中間的自適應(yīng)div要放在最后寫橄唬。

.wrapper{
            width: 700px;
            height: 400px;
            margin: 0 auto;
        }
        .wrapper .left{
            width: 200px;
            height: 400px;
            background-color: blueviolet;
            float: left;
        }
        .wrapper .right{
            width: 200px;
            height: 400px;
            background-color: deepskyblue;
            float: right;
        }
        .wrapper .middle{
            height: 400px;
            background-color: darksalmon;
        }

此方法使得中間欄總是最后渲染。
想要優(yōu)先渲染中間欄参歹,可以用到下面的方法仰楚。

方法2. 絕對(duì)定位布局

<div class="wrapper">
        <div class="middle"></div>
        <div class="left"></div>
        <div class="right"></div>    
    </div>
.wrapper{
            width: 700px;
            height: 400px;
            margin: 0 auto;
            position: relative;
        }
        .wrapper .left{
            width: 200px;
            height: 400px;
            background-color: blueviolet;
            position: absolute;
            left: 0;
        }
        .wrapper .middle{
            position: absolute;
            left: 200px;
            right: 200px;
            height: 400px;
            background-color: darksalmon;
        }
        .wrapper .right{
            width: 200px;
            height: 400px;
            background-color: deepskyblue;
           position: absolute;
           right: 0;
        }

方法3.flex布局

html同上

 .wrapper{
            width: 700px;
            height: 400px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
        }
        .wrapper .left{
            width: 200px;
            order: 1;
            background-color: blueviolet;    
        }
        .wrapper .middle{
           order: 2;
           flex:1;
           background-color: darksalmon;
        }
        .wrapper .right{
           width: 200px;
           order: 3;
           background-color: deepskyblue;
        }

圣杯布局

圣杯布局就是一種優(yōu)先渲染中間內(nèi)容的布局。

html:
    <div class="wrapper">
        <div class="middle"></div>
        <div class="left"></div>
        <div class="right"></div>    
    </div>
css:

a. 假設(shè)我們規(guī)定左側(cè)的固定寬度為200px犬庇,右側(cè)的固定寬度為300px僧界。

  .wrapper{
            width: 700px;
            height: 400px;
            padding: 0 300px 0 200px;
            margin: 0 auto;
        }

得到以下效果


b. 之后我們就要進(jìn)行中間三列的寬度的設(shè)置,同時(shí)進(jìn)行浮動(dòng)的設(shè)置(將中間三列進(jìn)行左浮動(dòng))臭挽,并且進(jìn)行高度的設(shè)置和定位捂襟。

.middle,.left,.right{
            float: left;
            position: relative;
            height: 400px;
        }

c. 我們要在.middle的部分進(jìn)行 width:100%占滿。

.middle{
            width: 100%;
            background-color: blanchedalmond;
        }

d. 此時(shí)我們看到.middle占滿了埋哟,所以我們現(xiàn)在需要做的就是將.left拉到最左邊,我們就要進(jìn)行margin-left:-100%,得到下圖效果郎汪。


e. 在這個(gè)時(shí)候我們可以看到赤赊,雖然我們將.left拉到了左邊,但是他將中間部分的內(nèi)容覆蓋掉了煞赢,所以我們就要使用相對(duì)定位left:-200px抛计。
同理我們也要對(duì).right進(jìn)行絕對(duì)定位.right:-300px

 .left{
            width: 200px;
            margin-left: -100%;
            left: -200px;
            background-color: cornflowerblue;
        }
 .right{
            width: 300px;
            margin-left: -300px;
            right: -300px;
            background-color: darkslateblue;
        }

這樣就完成了三欄布局!


圣杯布局

完整css代碼:

.wrapper{
            width: 700px;
            height: 400px;
            padding: 0 300px 0 200px;
            margin: 0 auto;
        }
        .middle,.left,.right{
            float: left;
            position: relative;
            height: 400px;
        }
        .middle{
            width: 100%;
            background-color: blanchedalmond;
        }
        .left{
            width: 200px;
            margin-left: -100%;
            left: -200px;
            background-color: cornflowerblue;
        }
        .right{
            width: 300px;
            margin-left: -300px;
            right: -300px;
            background-color: darkslateblue;
        }

雙飛翼布局

雙飛翼布局其實(shí)和圣杯布局類似照筑,都是為了實(shí)現(xiàn)三欄布局吹截,且中間內(nèi)容部分優(yōu)先展示

不同點(diǎn)就是圣杯布局利用的是 wrapper 的 padding 來(lái)保留左右位置的,而雙飛翼布局利用的是給中間部分(middle)的 margin 來(lái)實(shí)現(xiàn)的凝危,因?yàn)樗窃?middle 的外面再次嵌套了一層 div(middle-wrapper)

html
<div class="wrapper">
        <div class="middle-wrapper">
            <div class="middle"></div>
        </div>
        <div class="left"></div>
        <div class="right"></div>    
    </div>
  • 在wrapper 的三列 center-wrapper波俄、left、right分別設(shè)置左浮動(dòng)
  • middler-wrapper 的寬度設(shè)置為 100%蛾默,left 和 right 的寬度分別設(shè)置為 200px懦铺、300px ,對(duì) left 設(shè)置 margin-left:-100%支鸡,使其回到上一行的最左邊
  • 對(duì) right 使用 margin-left:-300px冬念,使其回到上一行的最右邊,此時(shí)就大功告成
css
 .wrapper{
            width: 1000px;
            height: 400px;
            margin: 0 auto;
        }
        .middle-wrapper,.left,.right{
            float: left;
            height: 400px;
        }
        .middle-wrapper{
            width: 100%;
            background-color: darksalmon;
        }
        .left{
            width: 200px;
            margin-left: -100%;
            background-color: goldenrod;
        }
        .right{
            width: 300px;
            margin-left: -300px;
            background-color: darkseagreen;
        }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末牧挣,一起剝皮案震驚了整個(gè)濱河市急前,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瀑构,老刑警劉巖裆针,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡据块,警方通過(guò)查閱死者的電腦和手機(jī)码邻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)另假,“玉大人像屋,你說(shuō)我怎么就攤上這事”呃海” “怎么了己莺?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)戈轿。 經(jīng)常有香客問(wèn)我凌受,道長(zhǎng),這世上最難降的妖魔是什么思杯? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任胜蛉,我火速辦了婚禮,結(jié)果婚禮上色乾,老公的妹妹穿的比我還像新娘誊册。我一直安慰自己,他們只是感情好暖璧,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布案怯。 她就那樣靜靜地躺著,像睡著了一般澎办。 火紅的嫁衣襯著肌膚如雪嘲碱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天局蚀,我揣著相機(jī)與錄音麦锯,去河邊找鬼。 笑死琅绅,一個(gè)胖子當(dāng)著我的面吹牛离咐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奉件,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼宵蛀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了县貌?” 一聲冷哼從身側(cè)響起术陶,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎煤痕,沒(méi)想到半個(gè)月后梧宫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體接谨,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年塘匣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脓豪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忌卤,死狀恐怖扫夜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情驰徊,我是刑警寧澤笤闯,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站棍厂,受9級(jí)特大地震影響颗味,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜牺弹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一浦马、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧张漂,春花似錦晶默、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瞧预。三九已至屎债,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間垢油,已是汗流浹背盆驹。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滩愁,地道東北人躯喇。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像硝枉,于是被迫代替她去往敵國(guó)和親廉丽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 三欄布局一般多指左右兩欄寬度固定妻味,中間欄寬度自適應(yīng)的布局正压。在能實(shí)現(xiàn)效果的情況下,盡可能的中間欄內(nèi)容優(yōu)先渲染责球。面試的...
    不會(huì)潛水的貓小喵閱讀 5,057評(píng)論 0 3
  • 六種布局方式總結(jié):圣杯布局焦履、雙飛翼布局拓劝、Flex布局、絕對(duì)定位布局嘉裤、表格布局郑临、網(wǎng)格布局。 圣杯布局 圣杯布局是指布...
    西麥smile閱讀 8,469評(píng)論 3 8
  • 前言 前端開發(fā)中屑宠,布局是前端基礎(chǔ)的內(nèi)容厢洞,而其中三欄布局在實(shí)際開發(fā)和面試中最常見,三欄布局是指中間自適應(yīng)兩邊固定寬侨把,...
    蛙哇閱讀 541評(píng)論 0 2
  • 前言 三欄布局犀变,顧名思義就是兩邊固定,中間自適應(yīng)秋柄。三欄布局在實(shí)際的開發(fā)十分常見获枝,比如淘寶網(wǎng)的首頁(yè),就是個(gè)典型的三欄...
    浪里行舟閱讀 1,536評(píng)論 2 16
  • 引言 最近寫站碰到了三欄布局骇笔,這種局平常寫的少一直沒(méi)有總結(jié)過(guò)正好借這次機(jī)會(huì)總結(jié)一波省店,加深一下印象。 絕對(duì)定位布局 ...
    icon6閱讀 207評(píng)論 0 1