圣杯布局造挽、雙飛翼布局,你懂了嗎弄痹?

圣杯布局和雙飛翼布局

在如今的網(wǎng)頁(yè)中我們經(jīng)撤谷耄可以看到左、中肛真、右三列谐丢,其中左右兩列寬度固定,中間寬度自適應(yīng)的布局方式蚓让,如下圖乾忱。圣杯布局和雙飛翼布局就是這種三列布局的兩種實(shí)現(xiàn)方式。


1575789288547.png

圣杯布局和雙飛翼布局的實(shí)現(xiàn)都利用了以下兩個(gè)技術(shù):

1历极、float:浮動(dòng)窄瘟,利用浮動(dòng)可以使元素脫離文檔流,從而讓塊級(jí)元素在同一行排列趟卸。

2蹄葱、負(fù)margin:在left 和 top方向上的負(fù)margin值可以將元素自身向相應(yīng)方向位移。

圣杯布局

html

<header>
        <h1 style="text-align: center;">這是一個(gè)三列布局</h1>
    </header>
    <main>
        <div class="center"><p>center</p></div>
        <div class="left"><p>這里是左邊部分</p></div>
        <div class="right"><p>這里是右邊部分</p></div>
    </main>
    <footer>
        <footer style="text-align: center;"><h2>footer</h2></footer>
    </footer>

css

main{
        padding: 0 300px;
    }
    main::after{
        content: "";
        display: block;
        clear: both;
    }
    main div{
        float: left;
    }
    .center{
        width: 100%;
        background-color: blue;
    }
    .left{
        width: 300px;
        background-color: red;
        margin-left: -100%;
        position: relative;
        left: -300px;
    }
    .right{
        width: 300px;
        background-color: yellow;
        margin-left: -300px;
        position: relative;
        left: 300px;
    }

源碼

雙飛翼布局

html

<header>
  <h1 style="text-align: center;">這是一個(gè)三列布局</h1>
</header>
<main>
  <div class="center">
    <div class="center-content">
       <p>center</p>
    </div>
  </div>
  <div class="left">
    <p>這里是左邊部分</p>
  </div>
  <div class="right">
    <p>這里是右邊部分</p>
  </div>
</main>
<footer>
  <footer style="text-align: center;">
    <h2>footer</h2>
  </footer>
</footer>

css

main::after {
  content: "";
  display: block;
  clear: both;
}
main > div {
  float: left;
}
.center {
  width: 100%;
}
.center-content{
  margin: 0 300px;
  background-color: blue;
  overflow:auto;
}
.left {
  width: 300px;
  background-color: red;
  margin-left: -100%;
}
.right {
  width: 300px;
  background-color: yellow;
  margin-left: -300px;
}

源碼

區(qū)別

不仔細(xì)看锄列,會(huì)感覺(jué)這兩個(gè)布局不是一樣的嗎图云?沒(méi)有發(fā)現(xiàn)差異的話不妨先仔細(xì)看一下上面的代碼并思考一下差異。

其實(shí)他們的區(qū)別在于邻邮,使center部分的內(nèi)容不被left和right部分給遮擋的處理方式竣况。
1、圣杯布局是在父容器main上加在左右padding(左右部分的寬度 px)筒严,再利用定位調(diào)整left 和 right的位置丹泉。

2、雙飛翼布局是通過(guò)在center部分種添加一個(gè)center子塊(center-content)讓它的左右margin 等于左右部分的寬度鸭蛙。

ps:圣杯布局在center的寬度小于left right部分的寬度時(shí)嘀掸,布局會(huì)亂。

最后

在flex和grid 布局出現(xiàn)的今天實(shí)現(xiàn)類似的三列布局已經(jīng)非常簡(jiǎn)單规惰,但是如果考慮到兼容性問(wèn)題的話睬塌,基于浮動(dòng)的這兩種布局方式還是需要了解的。最后謝謝各位小伙伴閱讀文章歇万,如有錯(cuò)誤還望指出揩晴。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贪磺,隨后出現(xiàn)的幾起案子硫兰,更是在濱河造成了極大的恐慌,老刑警劉巖寒锚,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劫映,死亡現(xiàn)場(chǎng)離奇詭異违孝,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)泳赋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門雌桑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人祖今,你說(shuō)我怎么就攤上這事校坑。” “怎么了千诬?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵耍目,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我徐绑,道長(zhǎng)邪驮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任傲茄,我火速辦了婚禮耕捞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烫幕。我一直安慰自己俺抽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布较曼。 她就那樣靜靜地躺著磷斧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捷犹。 梳的紋絲不亂的頭發(fā)上弛饭,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音萍歉,去河邊找鬼侣颂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛枪孩,可吹牛的內(nèi)容都是我干的憔晒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蔑舞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拒担!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起攻询,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤从撼,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后钧栖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體低零,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡婆翔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了掏婶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啃奴。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖气堕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情畔咧,我是刑警寧澤茎芭,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站誓沸,受9級(jí)特大地震影響梅桩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拜隧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一宿百、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧洪添,春花似錦垦页、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至忿峻,卻和暖如春薄啥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逛尚。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工垄惧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绰寞。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓到逊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親滤钱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蕾管,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • 圣杯布局和雙飛翼布局是前端工程師需要日常掌握的重要布局方式。兩者的功能相同菩暗,都是為了實(shí)現(xiàn)一個(gè)兩側(cè)寬度固定掰曾,中間寬度...
    阿爾卑斯的隆冬閱讀 66,499評(píng)論 23 155
  • 圣杯布局 圣杯布局需要用到相對(duì)定位。 前提條件:1停团、中間內(nèi)容包含左中右三部分旷坦。而且中間必須放在最前面掏熬。2、設(shè)置中間...
    exertmyself閱讀 376評(píng)論 1 1
  • 前言 所謂經(jīng)典秒梅,說(shuō)白了就是古老的東西旗芬,但是又是很有用的東西。大多數(shù)前端捆蜀,還有本菜疮丛,都或多或少了解的圣杯布局和雙飛翼...
    kk少年閱讀 1,182評(píng)論 0 8
  • CSS布局 布局是CSS中一個(gè)重要部分,本文總結(jié)了CSS布局中的常用技巧辆它,包括常用的水平居中誊薄、垂直居中方法,以及單...
    web前端學(xué)習(xí)閱讀 1,593評(píng)論 1 38
  • 一生太短锰茉, 我們還沒(méi)來(lái)得及看更多的風(fēng)景就匆匆離去呢蔫。 一生太長(zhǎng),長(zhǎng)到讓一個(gè)人常常到感到孤單飒筑。
    北方_c4d3閱讀 129評(píng)論 0 0