圣杯布局

圣杯布局是討論「三欄液態(tài)布局」的實現(xiàn)缴饭,它最早出自于誰或許不得而查了幕垦,但最早的完美實現(xiàn)是來自于 Matthew Levine 于2006年在「A LIST APART」上寫的一篇文章盏道,它主要講述了網(wǎng)頁中關(guān)于最佳圣杯的實現(xiàn)方法猜嘱。

所謂液態(tài)布局是相對固態(tài)布局而言的衅枫,固態(tài)布局就是固定值不變的布局,液態(tài)就好比在容器里到了一杯水朗伶,它可以隨著容器寬度的變化而自適應寬度弦撩。

接下來一起動手來實現(xiàn)一個圣杯布局

第一步:建立框架,并加入三欄

<header id="head">我是頭部</header>
<div id="container">
    <div id="center">我在中間</div>//中間欄優(yōu)先渲染论皆,所以放兩邊欄前邊
    <div id="left">我在左邊</div>
    <div id="right">我在右邊</div>
</div>
<footer id="foot">我是尾部</footer>

接著我們給每一欄配上合適的寬度益楼,并將它們設(shè)為浮動。同時我們需要清除 footer 的上下環(huán)境点晴,以免遭跟上面三欄一起浮動感凤。

#container{
    height: 200px;
}

#center{
    width: 100%;
    float: left;
    height: 200px;
}

#left{
    width: 200px;
    float: left;
    height: 200px;
}

#right{
    width: 202px;
    float: left;
    height: 200px;
}

#foot{
    clear: both;
}

注意:

  • 這里中間一欄的 100% 寬是基于它的父容器container的寬度而言的。
  • 左右兩欄由于排在中間欄的后面粒督,且因為空間不夠被擠到了中間欄的下面陪竿,如下圖所示:


    第一步.png

第二步:把左右側(cè)欄放上去。(利用負邊距布局)

#left{
  margin-left: -100%;
}

#right{
  margin-left: -202px;
}

首先屠橄,我們先將它的外邊距設(shè)置為-100%族跛,這樣一來,由于浮動的關(guān)系锐墙,左側(cè)欄就能上位礁哄,與中間欄交疊在一起,并占據(jù)了左邊溪北。而右側(cè)欄由于左側(cè)欄的上位桐绒,自動向前浮動到了原來左側(cè)欄的位置夺脾。

然后,我們需要把右側(cè)欄放上去掏膏,此時只需利用上面的原理把他放到 container的右外邊距的位置即可劳翰,我們需要再一次設(shè)置一個負外邊距的值,它等于右側(cè)欄的寬度馒疹。效果如下:

2.png

注意:中間欄的文字被覆蓋了。

第三部:設(shè)置container容器的左右邊距值分別為左右欄的寬乙墙。

#container{ 
  padding: 0  202px  0  200px;
}

效果圖如下:


3.png

第四步:給左右兩個盒子加一個定位颖变,加了定位之后左右兩個盒子就可以設(shè)置leftright值。

#left{
   position: relative;
   left: -200px;
}

#right{
  position: relative;
  right: -202px;
}

效果圖如下:


4.png

當縮放瀏覽器時(頁面有一個最小縮小值听想,為了安全起見腥刹,最好還是給body加一個最小寬度!),中間欄的寬度自適應汉买,兩邊欄的寬度固定不變衔峰。
如下圖:

縮小瀏覽器效果圖

到此為止,我們已經(jīng)實現(xiàn)了一個圣杯布局了蛙粘。

參考文章:
關(guān)于圣杯布局
圣杯布局和雙飛翼布局
這可能是史上最全的CSS自適應布局總結(jié)教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垫卤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子出牧,更是在濱河造成了極大的恐慌穴肘,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舔痕,死亡現(xiàn)場離奇詭異评抚,居然都是意外死亡,警方通過查閱死者的電腦和手機伯复,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門慨代,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人啸如,你說我怎么就攤上這事侍匙∽榈祝” “怎么了丈积?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長江滨。 經(jīng)常有香客問我,道長厌均,這世上最難降的妖魔是什么唬滑? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上晶密,老公的妹妹穿的比我還像新娘擒悬。我一直安慰自己,他們只是感情好稻艰,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布懂牧。 她就那樣靜靜地躺著,像睡著了一般尊勿。 火紅的嫁衣襯著肌膚如雪僧凤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天元扔,我揣著相機與錄音躯保,去河邊找鬼。 笑死澎语,一個胖子當著我的面吹牛途事,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播擅羞,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼尸变,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了祟滴?” 一聲冷哼從身側(cè)響起振惰,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垄懂,沒想到半個月后骑晶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡草慧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年桶蛔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漫谷。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡仔雷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舔示,到底是詐尸還是另有隱情碟婆,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布惕稻,位于F島的核電站竖共,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏俺祠。R本人自食惡果不足惜公给,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一借帘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧淌铐,春花似錦肺然、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至释涛,卻和暖如春加叁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唇撬。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留展融,地道東北人窖认。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像告希,于是被迫代替她去往敵國和親扑浸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

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

  • 在前端布局中燕偶,事實上喝噪,圣杯布局其實和雙飛翼布局是一回事。它們實現(xiàn)的都是三欄布局指么,兩邊的盒子寬度固定酝惧,中間盒子自適應...
    風銘閱讀 1,465評論 1 6
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,754評論 1 92
  • 圣杯布局 圣杯布局是典型的 CSS 布局問題伯诬,有著眾多的解決方案晚唇。 圣杯布局是一種非常經(jīng)典和常用的布局方式,其所指...
    調(diào)皮的小卷羊閱讀 754評論 0 0
  • 一直以來盗似,認為自己是個很包容的人哩陕,現(xiàn)在才慢慢覺察因為自己是一個另類的人,所以對他人的一些非世俗所能接受的觀點赫舒、做法...
    黑暗中的縫隙閱讀 221評論 0 1
  • 西周時期接癌,周昭王親征荊蠻心赶,兵敗至漢水不幸溺亡,兒子姬滿繼承王位扔涧,他就是西周第五代君主周穆王园担〗焯福《史記》中記載姬滿當時...
    葉塞尼婭閱讀 537評論 0 1