翻譯自:In Search of the Holy Grail
原文:http://www.alistapart.com/articles/holygrail
這個翻譯的頁面版權歸greengnn所有,轉載請注明出處
第一步:創建一個結構
xhtml開始于header, footer, and container
<div id="header"></div>
<div id="container"></div>
<div id="footer"></div>
CSS先定義container,給將要加入的sideleft,和sideright留下個位置
#container {
padding-left: 200px; /* LC width */
padding-right: 150px; /* RC width */
}
我們的布局現在看起來是這樣的
圖1――創建框架
第二步:增加內容元素
在第一步基礎上增加內容元素 <div id="header"></div>
<div id="container">
<div id="center" class="column"></div>
<div id="left" class="column"></div>
<div id="right" class="column"></div>
</div>
<div id="footer"></div>
然后分別定義widths和float 讓元素排列在一條線上,還有清除footer的浮動對齊
#container .column {
float: left;
}
#center {
width: 100%;
}
#left {
width: 200px; /* LC width */
}
#right {
width: 150px; /* RC width */
}
#footer {
clear: both;
}
這里給center元素定義了100% width,讓它占滿montainer的可用空間,現在的布局變成了這樣
圖2:增加內容元素
第三步:把left放到正確的位置
要把left放到正確的位置,我們分兩步
1.讓left和center在同一水平線 #left {
width: 200px; /* LC width */
margin-left: -100%;
}
看看效果
圖3――left移動完成一半
2.用相對定位,把left繼續移動到正確的位置 #container .columns {
float: left;
position: relative;
}
#left {
width: 200px; /* LC width */
margin-left: -100%;
right: 200px; /* LC width */
}
讓left距離他右邊元素center 200px后,行了,left終于到自己位置上了
圖4――left到了自己的位置