Div+CSS布局入門教程(四)

321.jpg

三、頁面頂部制作(2)—-使用列表li制作菜單

  開始此節的學習前,請確認你已經參照之前的幾節內容寫入了DIV、CSS到index.htm和css.css文件中。
  這一節我將告訴大家如何用列表li來制作菜單。

程序代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div id="menu">
<ul>
<li><a href="http://www.jssanhong.com/#">首頁</a></li>
<li class="menuDiv"></li>
<li><a href="http://www.jssanhong.com/#">博客</a></li>
<li class="menuDiv"></li>
<li><a href="http://www.jssanhong.com/#">設計</a></li>
<li class="menuDiv"></li>
<li><a href="http://www.jssanhong.com/#">相冊</a></li>
<li class="menuDiv"></li>
<li><a href="http://www.jssanhong.com/#">論壇</a></li>
<li class="menuDiv"></li>
<li><a href="http://www.jssanhong.com/#">關于</a></li>
</ul>
</div>

  以上是這部分的結構,有關于

1
2
<ul></ul>
<li></li>

這兩個HTML元素大家自己去參考相關的內容吧,它們最主要的作用就是在HTML中以列表的形式來顯示一些信息。

  還有一點需要大家一定要分清楚的,當在HTML中定義為id=”divID”時,在CSS對應的設置語法則是#divID{},如果在HTML中定義為class=”divID”時,則在CSS中對應的設置語法是.divID。

  如果id=”divID”這個層中包括了一個

1
<img></img>

,則這個img在CSS中對應的設置語法應該是#divID img {},同樣,如果是包含在class=”divID”這個層中時,則設置語法應該是.divID img {},這一點希望大家要分清楚了。

  另外,HTML中的一切元素都是可以定義的,例如table、tr、td、th、form、img、input…等等,如果你要在CSS中設置它們,則直接寫入元素的名稱加上一對大括號{}就可以了。所有的CSS代碼都應該寫在大括號{}中。

  按照上面的介紹,我們先在css.css中寫入以下代碼:

程序代碼

1
2
#menu ul {list-style:none;margin:0px;}
#menu ul li {float:left;}

  解釋一下:

1
  #menu ul {list-style:none;margin:0px;}

  list-style:none,這一句是取消列表前點,因為我們不需要這些點。
  margin:0px,這一句是刪除UL的縮進,這樣做可以使所有的列表內容都不縮進。

1
  #menu ul li {float:left;}

  這里的 float:left 的左右是讓內容都在同一行顯示,因此使用了浮動屬性(float)。

  到這一步,建議大家先保存預覽一下效果,我們再添加下面的內容,效果如下:

325.gif

  這時,列表內容是排列在一行,我們在#menu ul li {}再加入代碼margin:0 10px:

程序代碼

1
2
#menu ul {list-style:none;margin:0px;}
#menu ul li {float:left;margin:0 10px}

  margin:0 10px的作用就是讓列表內容之間產生一個20像素的距離(左:10px,右:10px),預覽的效果如下:

322.JPG

  現在,雛形已經出來了,我們再來固定菜單的位置,把代碼改成如下:

程序代碼

1
2
3
4
5
#menu {padding:20px 20px 0 0}
/*利用padding:20px 20px 0 0來固定菜單位置*/
#menu ul {float:right;list-style:none;margin:0px;}
/*添加了float:right使得菜單位于頁面右側*/
#menu ul li {float:left;margin:0 10px}

  這時,位置已經確定了,可是構思圖中,菜單選項之間還有一條豎線,怎么辦呢?別忘了,我們早就已經留好了一個空的

1
<li class="menuDiv"></li>

要想加入豎線就使用它了。

  按照上面說的方法,我們再添加以下代碼:

程序代碼

1
.menuDiv {width:1px;height:28px;background:#999}

保存預覽一下,豎線是否已經出來了?關于這段代碼就不多講了,應該是很容易理解的。

323.JPG

  不過,菜單選項的文字卻在頂部,我們再修改成以下代碼:

程序代碼

1
#menu ul li {float:left;margin:0 10px;display:block;line-height:28px}

  關于display:block;line-height:28px大家可以去參閱一下手冊,我就不多講了。

  效果基本上已經實現了,剩下的就是修改菜單的超鏈接樣式,在css.css中添加以下代碼:

程序代碼

1
2
#menu ul li a:link,#menu ul li a:visited {font-weight:bold;color:#666}
#menu ul li a:hover{}

  這個也不多說了,沒什么好說的了,最后的效果如下:

324.JPG

  這一節到這里就完畢了,順便把素材提供給大家:

  構思圖: http://www.tblog.com.cn/attachments/month_0603/s2006327203921.rar
  HTML和CSS源文件: http://www.tblog.com.cn/attachments/month_0603/k2006327204039.rar