圣杯布局,雙飛翼布局,flex布局的實(shí)現(xiàn)

作者:知乎用戶

鏈接? ?來源:知乎

圣杯布局的來歷是2006年發(fā)在a list part上的這篇文章:

In Search of the Holy Grail · An A List Apart Article

圣杯是西方表達(dá)“渴求之物"的意思,不是一種對(duì)頁面的形象表達(dá)。

雙飛翼據(jù)考源自淘寶UED,應(yīng)該是一種頁面的形象的表達(dá)。

圣杯布局和雙飛翼布局解決的問題是一樣的,就是兩邊頂寬,中間自適應(yīng)的三欄布局,中間欄要在放在文檔流前面以優(yōu)先渲染。

圣杯布局和雙飛翼布局解決問題的方案在前一半是相同的,也就是三欄全部float浮動(dòng),但左右兩欄加上負(fù)margin讓其跟中間欄div并排,以形成三欄布局。

不同在于解決”中間欄div內(nèi)容不被遮擋“問題的思路不一樣:

圣杯布局,為了中間div內(nèi)容不被遮擋,將中間div設(shè)置了左右padding-left和padding-right后,將左右兩個(gè)div用相對(duì)布局position: relative并分別配合right和left屬性,以便左右兩欄div移動(dòng)后不遮擋中間div。

雙飛翼布局,為了中間div內(nèi)容不被遮擋,直接在中間div內(nèi)部創(chuàng)建子div用于放置內(nèi)容,在該子div里用margin-left和margin-right為左右兩欄div留出位置。

多了1個(gè)div,少用大致4個(gè)css屬性(圣杯布局中間divpadding-left和padding-right這2個(gè)屬性,加上左右兩個(gè)div用相對(duì)布局position: relative及對(duì)應(yīng)的right和left共4個(gè)屬性,一共6個(gè);而雙飛翼布局子div里用margin-left和margin-right共2個(gè)屬性,6-2=4),個(gè)人感覺比圣杯布局思路更直接和簡潔一點(diǎn)。

簡單說起來就是”雙飛翼布局比圣杯布局多創(chuàng)建了一個(gè)div,但不用相對(duì)布局了“,而不是你題目中說的”去掉relative"就是雙飛翼布局“

實(shí)現(xiàn)效果:

效果圖

實(shí)現(xiàn)代碼

圣杯:

圣杯代碼

雙飛翼

雙飛翼代碼

flex


flex布局
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,131評(píng)論 1 92
  • 1.瀑布流布局 思路:要求:當(dāng)圖片寬度相同,高度不同時(shí);如何做一面圖片墻;每次圖片加載到每列最低的位置;1.圖片的...
    饑人谷_楠柒閱讀 2,702評(píng)論 2 54
  • 3、雙飛翼布局和圣杯布局的區(qū)別 圣杯布局和雙飛翼布局解決問題的方案在前一半是相同的,即: 中間欄寬度設(shè)置為100%...
    公子七閱讀 551評(píng)論 0 1
  • 在前端布局中,事實(shí)上,圣杯布局其實(shí)和雙飛翼布局是一回事。它們實(shí)現(xiàn)的都是三欄布局,兩邊的盒子寬度固定,中間盒子自適應(yīng)...
    風(fēng)銘閱讀 1,563評(píng)論 1 6
  • 天門中斷楚江開,碧水東流至此回
    蕭曉筱嘵嘵閱讀 142評(píng)論 0 0

友情鏈接更多精彩內(nèi)容