聖杯布局 和 雙飛燕布局

2021-08-20 22:13:42 字數 2604 閱讀 5824

聖杯布局和雙飛翼布局基本上是一樣的,都是兩邊固定寬度,中間自適應的三欄布局,其中,中間欄放到文件流前面,保證先行渲染。解決方案大體相同,都是三欄全部float:left浮動,區別在於解決中間欄div的內容不被遮擋上,聖杯布局是中間欄在新增相對定位,並配合left和right屬性,效果上表現為三欄是單獨分開的(如果可以看到空隙的話),而雙飛翼布局是在中間欄的div中巢狀乙個div,內容寫在巢狀的div裡,然後對巢狀的div設定margin-left和margin-right,效果上表現為左右兩欄在中間欄的上面,中間欄還是100%寬度,只不過中間欄的內容通過margin的值顯示在中間。

效果簡圖如下:

【聖杯布局】

在這裡,實現了左(200px) 右(220px) 寬度固定,中間自適應,container部分高度保持一致。

html**中 middle部分首先要放在container的最前部分。然後是left,right

1.將三者都 float:left , 再加上乙個position:relative (因為相對定位後面會用到)

2.middle部分 width:100%佔滿

3.此時middle佔滿了,所以要把left拉到最左邊,使用margin-left:-100%

4.這時left拉回來了,但會覆蓋middle內容的左端,要把middle內容拉出來,所以在外圍container加上 padding:0 220px 0 200px

5.middle內容拉回來了,但left也跟著過來了,所以要還原,就對left使用相對定位 left:-200px 同理,right也要相對定位還原 right:-220px

6.到這裡大概就自適應好了。如果想container高度保持一致可以給left middle right都加上min-height:130px

不過衰衰地發現ie中有問題.. ie6/7/8/9中 下面的空白高度都不一樣..

lang="en">

charset="utf-8">

聖杯布局title>

* body

.header, .footer

.left, .middle, .right

.container

.left

.right

.middle

.footer

style>

head>

class="header">

headerh4>

div>

class="container">

class="middle">

middleh4>

hhhhhhhhhhhhhhhhhhhhhh

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

hhhhhhhhhhhhhhhhhhhhhh

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

p>

div>

class="left">

lefth4>

oooooooooooooo

0000000000000000

00000000000000000

ooooooooooooooo

ooooooooooooooo

000000000000000p>

div>

class="right">

righth4>

bbbbbbbbbbbbbb

888888888888888888

bbbbbbbbbbbbbbbbbb

88888888888888888888p>

div>

div>

class="footer">

footerh4>

div>

body>

html>【雙飛翼布局】

聽說雙飛翼布局是玉伯大大提出來的,始於**ued

如果把三欄布局比作乙隻大鳥,可以把main看成是鳥的身體,sub和extra則是鳥的翅膀。這個布局的實現思路是,先把最重要的身體部分放好,然後再將翅膀移動到適當的地方.

其實跟上邊的聖杯布局差不多的,雙飛翼布局是在middle的div裡又插入乙個div,通過調整內部div的margin值,實現中間欄自適應,內容寫到內部div中。

左翅sub有200px,右翅extra..220px.. 身體main自適應未知

1.html**中,main要放最前邊,sub extra

2.將main sub extra 都float:left

3.將main佔滿 width:100%

4.此時main佔滿了,所以要把sub拉到最左邊,使用margin-left:-100% 同理 extra使用margin-left:-220px

(這時可以直接繼續上邊聖杯布局的步驟,也可以有所改動)

5.main內容被覆蓋了吧,這次我們不用padding,而使用margin。

給main增加乙個內層div– main-inner, 然後margin:0 220px 0 200px

lang="en">

charset="utf-8">

雙飛翼布局title>

聖杯布局 和 雙飛燕布局

聖杯布局和雙飛翼布局基本上是一樣的,都是兩邊固定寬度,中間自適應的三欄布局,其中,中間欄放到文件流前面,保證先行渲染。解決方案大體相同,都是三欄全部float left浮動,區別在於解決中間欄div的內容不被遮擋上,聖杯布局是中間欄在新增相對定位,並配合left和right屬性,效果上表現為三欄是單...

聖杯布局以及雙飛燕布局

布局的樣式 兩邊定寬,中間自適應的三欄布局,中間欄放在文件流前面以優先渲染 聖杯布局 1.三塊都設定向左浮動且使用相對定位 2.包含三塊的父元素設定左右的padding值,給左右兩部分留出空間 3.中間塊寬度設定為100 4.左右兩邊設定負邊距margin left,左部分設定 100 右部分設定 ...

雙飛燕布局

布局的效果跟聖杯的一樣,有所不同。雙飛燕布局的 更加簡單,只是多加了乙個div用來布局。基礎布局部分 一樣。main部分 main 這裡不需要加padding了 m content,m leftside,m rightside m content 用左右邊距將左右邊欄的位置預留出來 m c wrap...