4、如何使頁面居中?
大家將代碼保存后可以看到,整個(gè)頁面是居中顯示的,那么究竟是什么原因使得頁面居中顯示呢?
是因?yàn)槲覀冊?container中使用了以下屬性:
margin:0 auto;
按照前面的說明,可以知道,表示上下邊距為0,左右為自動(dòng),因此該層就會(huì)自動(dòng)居中了。
如果要讓頁面居左,則取消掉auto值就可以了,因?yàn)槟J(rèn)就是居左顯示的。
通過margin:auto我們就可以輕易地使層自動(dòng)居中了。
5、這里我只介紹這些常用的CSS屬性了,其他的請參看CSS2.0中文手冊。
當(dāng)我們寫好了頁面大致的DIV結(jié)構(gòu)后,我們就可以開始細(xì)致地對(duì)每一個(gè)部分進(jìn)行制作了。
在上一章中我們寫入了一些樣式,那些樣式是為了預(yù)覽結(jié)構(gòu)而寫入的,我們把css.css中的樣式全部清除掉,重新寫入以下樣式代碼:
/*基本信息*/
body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;}
a:link,a:visited {font-size:12px;text-decoration:none;}
a:hover{}
/*頁面層容器*/
#container {width:800px;margin:10px auto}
樣式說明:
a:link,a:visited {font-size:12px;text-decoration:none;}
a:hover {}
這兩項(xiàng)分別是控制頁面中超鏈接的樣式,具體我就不說明了,請大家參閱手冊。
#container {width:800px;margin:10px auto}
指定整個(gè)頁面的顯示區(qū)域。
width:800px指定寬度為800像素,這里根據(jù)實(shí)際所需設(shè)定。
margin:10px auto,則是頁面上、下邊距為10個(gè)像素,并且居中顯示。
上一章中我們講過,對(duì)層的margin屬性的左右邊距設(shè)置為auto可以讓層居中顯示。
接下來,我們開始制作TOP部分,TOP部分包括了LOGO、菜單和Banner,首先我們要做的就是對(duì)設(shè)計(jì)好的圖片進(jìn)行切片,以下是在FW下完成的切片:
我將TOP部分切片為兩部分,第一部分包括了LOGO和一條橫線。由于LOGO圖片并沒有太多的顏色,這里我于是將這一部分保存為GIF格式,調(diào)色板選擇為精確,選擇Alpha透明度,色版為白色(此處顏色應(yīng)與背景色相同),導(dǎo)出為logo.gif,圖像寬度為800px。
到這里,有的朋友就說了,* 為什么要使用GIF格式?使用JPEG不是更好嗎?
因?yàn)镚IF格式的圖片文件更小,這樣能使頁面載入的速度更快,當(dāng)然使用此格式之前必須確定圖片并沒有使用太多的顏色,當(dāng)我們使用了GIF格式時(shí),從肉眼上并不能看出圖片有什么太大的變化,因此這是可行的。
* 接下來的Banner部分還能使用GIF格式嗎?
答案是不能,因?yàn)锽anner部分是一個(gè)細(xì)致的圖片,如果使用GIF格式顏色會(huì)有太大的損失,所以必須使用JPEG格式,將文件導(dǎo)出為banner.jpg。
* 合理的切片是非常之重要的,因?yàn)榍衅姆椒ㄕ_與否決定了CSS書寫的簡易程度以及頁面載入速度。
切好片后,我們還需要對(duì)TOP部分進(jìn)行分析并將DIV結(jié)構(gòu)寫入Header中代碼如下:
。糳iv id="menu">
。紆l>
。糽i><a href="#">首頁</a></li>
。糽i class="menuDiv"></li>
。糽i><a href="#">博客</a></li>
。糽i class="menuDiv"></li>
。糽i><a href="#">設(shè)計(jì)</a></li>
。糽i class="menuDiv"></li>
。糽i><a href="#">相冊</a></li>
<li class="menuDiv"></li>
。糽i><a href="#">論壇</a></li>
<li class="menuDiv"></li>
。糽i><a href="#">關(guān)于</a></li>
</ul>
。/div>
。糳iv id="banner">
</div>
為什么要這么寫呢,因?yàn)閷?duì)菜單使用列表<li>形式,可以在以后方便對(duì)菜單定制樣式。
而為什么要添加以下代碼呢?
<li class="menuDiv"></li>
插入這一段代碼是可以方便地對(duì)菜單選項(xiàng)之間插入一些分隔樣式,例如預(yù)覽圖中的豎線分隔。
然后我們在css.css中再寫入以下樣式:
/*頁面頭部*/
#header {background:url(logo.gif) no-repeat}
樣式說明:
#header {background:url(logo.gif) no-repeat}
給頁面頭部分加入一個(gè)背景圖片LOGO,并且不作填充。
這里,我們沒有指定header層的高度,為什么不指定呢?
因?yàn)閔eader層中還有菜單和banner項(xiàng),所以層的高度暫時(shí)是未知的,而層的屬性又可以讓層根據(jù)內(nèi)容自動(dòng)設(shè)定調(diào)整,因此我們并不需要指定高度。
開始此節(jié)的學(xué)習(xí)前,請確認(rèn)你已經(jīng)參照之前的幾節(jié)內(nèi)容寫入了DIV、CSS到index.htm和css.css文件中。
這一節(jié)我將告訴大家如何用列表<li>來制作菜單。
<div id="menu">
<ul>
<li><a href="#">首頁</a></li>
<li class="menuDiv"></li>
<li><a href="#">博客</a></li>
<li class="menuDiv"></li>
<li><a href="#">設(shè)計(jì)</a></li>
<li class="menuDiv"></li>
<li><a href="#">相冊</a></li>
<li class="menuDiv"></li>
<li><a href="#">論壇</a></li>
<li class="menuDiv"></li>
<li><a href="#">關(guān)于</a></li>
</ul>
</div>
以上是這部分的結(jié)構(gòu),有關(guān)于<ul></ul>、<li></li>這兩個(gè)HTML元素大家自己去參考相關(guān)的內(nèi)容吧,它們最主要的作用就是在HTML中以列表的形式來顯示一些信息。
還有一點(diǎn)需要大家一定要分清楚的,當(dāng)在HTML中定義為id="divID"時(shí),在CSS對(duì)應(yīng)的設(shè)置語法則是#divID{} ,如果在HTML中定義為class="divID"時(shí),則在CSS中對(duì)應(yīng)的設(shè)置語法是.divID。
如果id="divID"這個(gè)層中包括了一個(gè)<img></img>,則這個(gè)img在CSS中對(duì)應(yīng)的設(shè)置語法應(yīng)該是#divID img {},同樣,如果是包含在class="divID"這個(gè)層中時(shí),則設(shè)置語法應(yīng)該是.divID img {},這一點(diǎn)希望大家要分清楚了。
另外,HTML中的一切元素都是可以定義的,例如table、tr、td、th、form、img、input...等等,如果你要在CSS中設(shè)置它們,則直接寫入元素的名稱加上一對(duì)大括號(hào){}就可以了。所有的CSS代碼都應(yīng)該寫在大括號(hào){}中。
按照上面的介紹,我們先在css.css中寫入以下代碼:
#menu ul {list-style:none;margin:0px;}
#menu ul li {float:left;}
解釋一下:
#menu ul {list-style:none;margin:0px;}
list-style:none,這一句是取消列表前點(diǎn),因?yàn)槲覀儾恍枰@些點(diǎn)。
margin:0px,這一句是刪除UL的縮進(jìn),這樣做可以使所有的列表內(nèi)容都不縮進(jìn)。
#menu ul li {float:left;}
這里的 float:left 的左右是讓內(nèi)容都在同一行顯示,因此使用了浮動(dòng)屬性(float)。
到這一步,建議大家先保存預(yù)覽一下效果,我們再添加下面的內(nèi)容,效果如下:
這時(shí),列表內(nèi)容是排列在一行,我們在#menu ul li {}再加入代碼margin:0 10px
#menu ul {list-style:none;margin:0px;}
#menu ul li {float:left;margin:0 10px}
margin:0 10px的作用就是讓列表內(nèi)容之間產(chǎn)生一個(gè)20像素的距離(左:10px,右:10px),預(yù)覽的效果如下:
現(xiàn)在,雛形已經(jīng)出來了,我們再來固定菜單的位置,把代碼改成如下:
#menu {padding:20px 20px 0 0}
/*利用padding:20px 20px 0 0來固定菜單位置*/
#menu ul {float:right;list-style:none;margin:0px;}
/*添加了float:right使得菜單位于頁面右側(cè)*/
#menu ul li {float:left;margin:0 10px}
這時(shí),位置已經(jīng)確定了,可是構(gòu)思圖中,菜單選項(xiàng)之間還有一條豎線,怎么辦呢?
別忘了,我們早就已經(jīng)留好了一個(gè)空的<li class="menuDiv"></li>,要想加入豎線就使用它了。
按照上面說的方法,我們再添加以下代碼:
.menuDiv {width:1px;height:28px;background:#999}
保存預(yù)覽一下,豎線是否已經(jīng)出來了?關(guān)于這段代碼就不多講了,應(yīng)該是很容易理解的。
不過,菜單選項(xiàng)的文字卻在頂部,我們再修改成以下代碼:
#menu ul li {float:left;margin:0 10px;display:block;line-height:28px}
關(guān)于display:block;line-height:28px大家可以去參閱一下手冊,我就不多講了。
效果基本上已經(jīng)實(shí)現(xiàn)了,剩下的就是修改菜單的超鏈接樣式,在css.css中添加以下代碼:
#menu ul li a:link,#menu ul li a:visited {font-weight:bold;color:#666}
#menu ul li a:hover{}
這個(gè)也不多說了,沒什么好說的了,最后的效果如下:
本新聞共
4頁,當(dāng)前在第
3頁
1 2 3 4