聖杯布局和雙飛翼布局基本上是一樣的,都是兩邊固定寬度,中間自適應的三欄布局,其中,中間欄放到文件流前面,保證先行渲染。解決方案大體相同,都是三欄全部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...