使用CSS布局非常簡(jiǎn)單,如果你習(xí)慣使用tables布局,可能開始時(shí)有點(diǎn)困難,但其實(shí)很容易,事實(shí)上只是觀念的不同。
你需要把網(wǎng)頁(yè)的每個(gè)部分看成前幾立的塊,你可以更對(duì)或相對(duì)定位塊。
Positioning 定位
positon屬性可以指定元素為absolute,relative,static或是fixed。
static是元素默認(rèn)屬性,按HTML出現(xiàn)的先后順序。
relative比較像static,但元素可以使用top,right,bottom和left設(shè)定初始屬性。
absolute把元素從HTML里面拉出,一切由它自己決定,在這里,更對(duì)定位元素可以使用top,right,bottom,left定位在任何地方。
fixed行為像absolute,但它更對(duì)定位的元素參照瀏覽器窗口與網(wǎng)頁(yè)沒有關(guān)系。所以,理論上,fixed元素可以固定在屏幕上當(dāng)頁(yè)面滾動(dòng)時(shí)。為什么說是理論上的?因?yàn)镮E7以下的瀏覽器不支持。
使用更對(duì)定位布局
可以使用更對(duì)定位創(chuàng)建傳統(tǒng)的兩列布局,如下:
Ra ra banjo banjo
Welcome to the Ra ra banjo banjo page. Ra ra banjo banjo. Ra ra banjo banjo. Ra ra banjo banjo.
(Ra ra banjo banjo)
上面加上CSS:
#navigation {
position: absolute;
top: 0;
left: 0;
width: 10em;
}
#content {
margin-left: 10em;
}
上面導(dǎo)航條設(shè)定在左邊,寬度是10em。因?yàn)閷?dǎo)航條是更對(duì)定位,所以流動(dòng)的頁(yè)面上什么也不動(dòng),需要設(shè)定內(nèi)容的左邊margin等于導(dǎo)航條的寬度。
真是簡(jiǎn)單。你沒有限制這兩列的距離,使用聰明的布局,你可以隨心所欲安排許多塊。如果你想添加第三列,比如:
#navigation {
position: absolute;
top: 0;
left: 0;
width: 10em;
}
#navigation2 {
position: absolute;
top: 0;
right: 0;
width: 10em;
}
#content {
margin: 0 10em; /* setting top and bottom margin to 0 and right and left margin to 10em */
}
更后階段去更對(duì)定位元素,因?yàn)樗鼈兦皫琢⒋嬖?,無(wú)法正確了解它們哪里結(jié)束。如果你使用上面的例子,所有的頁(yè)面有小的導(dǎo)航條和大的內(nèi)容區(qū)域到可以,但是,特別是寬度和大小使用相對(duì)值,你必須經(jīng)常放棄定位的希望,比如位于元素更下面的底部布局。如果你想定位底部,采用浮動(dòng)模式比更對(duì)定位好。
Floating 浮動(dòng)
浮動(dòng)元素可以在一條線上移動(dòng)。
浮動(dòng)一般使用在定位頁(yè)面里的小型元素,但也可使用在大塊里,比如導(dǎo)航。
上面的HTML例子使用下面CSS:
#navigation {
float: left;
width: 10em;
}
#navigation2 {
float: right;
width: 10em;
}
#content {
margin: 0 10em;
}
如果你不希望接下來的元素包圍浮動(dòng)對(duì)象,可以使用clear屬性。clear:left清除浮動(dòng)在左邊的元素,clear:right清除浮動(dòng)在右邊的元素,clear:both清除所有。如果你想添加底部footer,可以像下面:
#footer {
clear: both;
}
footer將在所有列下面,不管它們的長(zhǎng)度如何。
這篇介紹了定位和浮動(dòng)的基本情況,強(qiáng)調(diào)頁(yè)面的大塊,但記住,上面方法可以運(yùn)用到塊里面的任何元素。通過組合使用position,floating,margins,padding和border,你可以表現(xiàn)出任何網(wǎng)頁(yè)設(shè)計(jì),table布局能做的CSS沒有什么不能做。
使用表格布局的理由就是考慮古老的瀏覽器。CSS的優(yōu)勢(shì)在于擁有很高的可用性,而且體積上只有使用table布局的部分大小。
學(xué)習(xí)WEB標(biāo)準(zhǔn)制作網(wǎng)頁(yè)之PageLayout網(wǎng)頁(yè)布局,與大家多多交流。
查看更多寧波網(wǎng)站制作公司學(xué)習(xí)布局制作網(wǎng)頁(yè)