用css網(wǎng)站布局之十步實(shí)錄!(九)_DIV+CSS實(shí)例
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
第九步:導(dǎo)航條的制作
導(dǎo)航條之所以放在第九步講,是因?yàn)閷?dǎo)航條制作是本教程中最難的部分,自然也是技術(shù)含量最高的地方.導(dǎo)航條的制作可易可難,但這里介紹的相對(duì)較難,您能堅(jiān)持到這一步已經(jīng)很不易,假如你只是有個(gè)導(dǎo)航條就滿足的話,請(qǐng)參看第八步的副導(dǎo)航條的制作。
先去掉導(dǎo)航條的紅色背景,還有就是移除html文件中main-nav層的"class="hidden"",使導(dǎo)航條的內(nèi)容顯示出來(lái)。我們實(shí)現(xiàn)導(dǎo)航條圖片的變換的方法是純css代碼的,不包含任何js或是flash,因此我們所用的圖片是4幅分別由三個(gè)小圖組合而成的圖片,如下所示,并將這4幅圖保存于/images/nav/文件夾中:(另存圖片后 改成相應(yīng)的文件名)




我們實(shí)現(xiàn)導(dǎo)航條的動(dòng)態(tài)效果如下圖所示:(GIF動(dòng)畫(huà))

在網(wǎng)頁(yè)顯示的只是圖中紅框標(biāo)出的部分,假如把每幅圖分為上,中,下三部分的話,未發(fā)生動(dòng)作時(shí)顯示上部,當(dāng)光標(biāo)懸停時(shí),顯示的是中部,被選擇時(shí)則顯示下部。
接下來(lái)進(jìn)入css代碼部分,先往css文件中寫(xiě)入:
注重:/* Main Navigation */為增加css文件可讀性的說(shuō)明,不會(huì)影響表現(xiàn)。
#main-nav的height屬性定義了main-nav層的高度;"#main-nav ul" 則定義main-nav層中列表的屬性,在這里先定義其margin和padding為0。
根據(jù)先前的設(shè)計(jì),導(dǎo)航條應(yīng)該和左邊有一定的距離,這就需要設(shè)置main-nav層的左邊距(padding-left)為11px,但由于IE5和Mac瀏覽器的BUG,需要加入以下代碼:
現(xiàn)在你可以看到導(dǎo)航列表距左邊有11px的距離,但是列表項(xiàng)目是豎排的,將<li>,即列表項(xiàng)目向左對(duì)齊就能使其從左到右橫向排列:
為了使列表項(xiàng)目的尺寸和容納它的層保持一致,并利用浮動(dòng)屬性使列表項(xiàng)目的文本隱藏,寫(xiě)入:
接著,要實(shí)現(xiàn)當(dāng)光標(biāo)懸停于列表項(xiàng)目上時(shí),顯示背景圖片的中部,因此需要將背景圖片向上移動(dòng)50px,寫(xiě)入:
給各個(gè)列表項(xiàng)目設(shè)置寬度和背景圖片的路徑:
最后我們要做的就是,當(dāng)列表項(xiàng)目被選時(shí),顯示背景圖片的下部。為此我們需要增加一些css代碼對(duì)原有的css表現(xiàn)作一些修改:
以上看似龐大的css選擇器可以識(shí)別body標(biāo)簽的類(lèi)(class),如html中為:
以上css選擇器就讓li#about,li#about a,的背景向上移動(dòng)100px,使其顯示背景圖片的下部。
假如我們希望網(wǎng)站頭部背景圖片也根據(jù)body標(biāo)簽的類(lèi)進(jìn)行變換,就需修改css的#header為:
至此就完成了"About"網(wǎng)頁(yè)的制作,依此類(lèi)推,修改html中body的類(lèi)為services/portfolio/contact制作相應(yīng)html文件并分別保存。
在css文件中添加各個(gè)網(wǎng)頁(yè)相應(yīng)的頭部背景圖片路徑(如services網(wǎng)頁(yè)的頭部背景圖片為services.jpg,在css中添加如下代碼):
然后用超級(jí)鏈接將這些網(wǎng)頁(yè)連接起來(lái),就組成了一個(gè)網(wǎng)站了。
導(dǎo)航條之所以放在第九步講,是因?yàn)閷?dǎo)航條制作是本教程中最難的部分,自然也是技術(shù)含量最高的地方.導(dǎo)航條的制作可易可難,但這里介紹的相對(duì)較難,您能堅(jiān)持到這一步已經(jīng)很不易,假如你只是有個(gè)導(dǎo)航條就滿足的話,請(qǐng)參看第八步的副導(dǎo)航條的制作。
先去掉導(dǎo)航條的紅色背景,還有就是移除html文件中main-nav層的"class="hidden"",使導(dǎo)航條的內(nèi)容顯示出來(lái)。我們實(shí)現(xiàn)導(dǎo)航條圖片的變換的方法是純css代碼的,不包含任何js或是flash,因此我們所用的圖片是4幅分別由三個(gè)小圖組合而成的圖片,如下所示,并將這4幅圖保存于/images/nav/文件夾中:(另存圖片后 改成相應(yīng)的文件名)




我們實(shí)現(xiàn)導(dǎo)航條的動(dòng)態(tài)效果如下圖所示:(GIF動(dòng)畫(huà))

在網(wǎng)頁(yè)顯示的只是圖中紅框標(biāo)出的部分,假如把每幅圖分為上,中,下三部分的話,未發(fā)生動(dòng)作時(shí)顯示上部,當(dāng)光標(biāo)懸停時(shí),顯示的是中部,被選擇時(shí)則顯示下部。
接下來(lái)進(jìn)入css代碼部分,先往css文件中寫(xiě)入:
示例代碼 [www.hl5o.cn]
/* Main Navigation */
#main-nav { height: 50px; }
#main-nav ul { margin: 0; padding: 0; }
#main-nav { height: 50px; }
#main-nav ul { margin: 0; padding: 0; }
注重:/* Main Navigation */為增加css文件可讀性的說(shuō)明,不會(huì)影響表現(xiàn)。
#main-nav的height屬性定義了main-nav層的高度;"#main-nav ul" 則定義main-nav層中列表的屬性,在這里先定義其margin和padding為0。
根據(jù)先前的設(shè)計(jì),導(dǎo)航條應(yīng)該和左邊有一定的距離,這就需要設(shè)置main-nav層的左邊距(padding-left)為11px,但由于IE5和Mac瀏覽器的BUG,需要加入以下代碼:
示例代碼 [www.hl5o.cn]
/* IE5 Mac Hack \*/
#main-nav { padding-left: 11px; }
/*/
#main-nav { padding-left: 11px; overflow: hidden; }
/* End Hack */
#main-nav { padding-left: 11px; }
/*/
#main-nav { padding-left: 11px; overflow: hidden; }
/* End Hack */
現(xiàn)在你可以看到導(dǎo)航列表距左邊有11px的距離,但是列表項(xiàng)目是豎排的,將<li>,即列表項(xiàng)目向左對(duì)齊就能使其從左到右橫向排列:
示例代碼 [www.hl5o.cn]
#main-nav li { float: left; }
為了使列表項(xiàng)目的尺寸和容納它的層保持一致,并利用浮動(dòng)屬性使列表項(xiàng)目的文本隱藏,寫(xiě)入:
示例代碼 [www.hl5o.cn]
#main-nav li a {
display: block;
height: 0px !important;
height /**/:50px; /* IE 5/Win hack */
padding: 50px 0 0 0;
overflow: hidden;
background-repeat: no-repeat;
}
display: block;
height: 0px !important;
height /**/:50px; /* IE 5/Win hack */
padding: 50px 0 0 0;
overflow: hidden;
background-repeat: no-repeat;
}
接著,要實(shí)現(xiàn)當(dāng)光標(biāo)懸停于列表項(xiàng)目上時(shí),顯示背景圖片的中部,因此需要將背景圖片向上移動(dòng)50px,寫(xiě)入:
示例代碼 [www.hl5o.cn]
#main-nav li a:hover {
background-position: 0 -50px;
}
background-position: 0 -50px;
}
給各個(gè)列表項(xiàng)目設(shè)置寬度和背景圖片的路徑:
示例代碼 [www.hl5o.cn]
#main-nav li#about,
#main-nav li#about a { width: 71px; background-image: url(../images/nav/about.gif); }
#main-nav li#services,
#main-nav li#services a { width: 84px; background-image: url(../images/nav/services.gif); }
#main-nav li#portfolio,
#main-nav li#portfolio a { width: 95px; background-image: url(../images/nav/portfolio.gif); }
#main-nav li#contact,
#main-nav li#contact a { width: 106px; background-image: url(../images/nav/contact.gif); }
#main-nav li#about a { width: 71px; background-image: url(../images/nav/about.gif); }
#main-nav li#services,
#main-nav li#services a { width: 84px; background-image: url(../images/nav/services.gif); }
#main-nav li#portfolio,
#main-nav li#portfolio a { width: 95px; background-image: url(../images/nav/portfolio.gif); }
#main-nav li#contact,
#main-nav li#contact a { width: 106px; background-image: url(../images/nav/contact.gif); }
最后我們要做的就是,當(dāng)列表項(xiàng)目被選時(shí),顯示背景圖片的下部。為此我們需要增加一些css代碼對(duì)原有的css表現(xiàn)作一些修改:
示例代碼 [www.hl5o.cn]
body.about li#about,
body.about li#about a,
body.services li#services,
body.services li#services a,
body.portfolio li#portfolio,
body.portfolio li#portfolio a,
body.contact li#contact,
body.contact li#contact a {
background-position: 0 -100px;
}
body.about li#about a,
body.services li#services,
body.services li#services a,
body.portfolio li#portfolio,
body.portfolio li#portfolio a,
body.contact li#contact,
body.contact li#contact a {
background-position: 0 -100px;
}
以上看似龐大的css選擇器可以識(shí)別body標(biāo)簽的類(lèi)(class),如html中為:
示例代碼 [www.hl5o.cn]
<body class="about">
以上css選擇器就讓li#about,li#about a,的背景向上移動(dòng)100px,使其顯示背景圖片的下部。
假如我們希望網(wǎng)站頭部背景圖片也根據(jù)body標(biāo)簽的類(lèi)進(jìn)行變換,就需修改css的#header為:
示例代碼 [www.hl5o.cn]
body.about #header {
height: 150px;
background: #db6d16
url(../images/headers/about.jpg);
}
height: 150px;
background: #db6d16
url(../images/headers/about.jpg);
}
至此就完成了"About"網(wǎng)頁(yè)的制作,依此類(lèi)推,修改html中body的類(lèi)為services/portfolio/contact制作相應(yīng)html文件并分別保存。
在css文件中添加各個(gè)網(wǎng)頁(yè)相應(yīng)的頭部背景圖片路徑(如services網(wǎng)頁(yè)的頭部背景圖片為services.jpg,在css中添加如下代碼):
示例代碼 [www.hl5o.cn]
body.services #header {
height: 150px;
background: #db6d16
url(../images/headers/services.jpg);
}
height: 150px;
background: #db6d16
url(../images/headers/services.jpg);
}
然后用超級(jí)鏈接將這些網(wǎng)頁(yè)連接起來(lái),就組成了一個(gè)網(wǎng)站了。
相關(guān)DIV+CSS實(shí)例:
- 固定div容器的寬高,圖片居中(圖片不限制大�。�
- 用css制作有滾動(dòng)條的居中彈出框
- 鼠標(biāo)指住(hover)變色的按鈕演示demo
- 10個(gè)很酷的涂鴉風(fēng)格國(guó)外網(wǎng)店設(shè)計(jì)展示
- jquery模擬瀏覽器滾動(dòng)條效果
- 仿谷歌google的搜索框下拉提示列表效果
- JS顯示網(wǎng)頁(yè)最后更新時(shí)間
- CSS技巧:text-indent隱藏文字(以圖換字)
- CSS實(shí)例:三列自適應(yīng)等高且中列寬度自適應(yīng)
- DivCSS布局實(shí)例:很實(shí)用的圖文混排CSS列表-富有語(yǔ)義
- DivCSS實(shí)例:CSS菜單Flash效果用圖片模擬實(shí)現(xiàn)
- DivCSS布局實(shí)例用dldtdd來(lái)制作列表
DIV+CSS實(shí)例Rss訂閱Div+Css教程搜索
DIV+CSS實(shí)例推薦
- CSS菜單:基本橫向菜單效果超炫
- CSS菜單實(shí)例:按鈕效果跳躍的藍(lán)色精靈
- DIVCSS菜單實(shí)例:紅與黑具有立體質(zhì)感的CSS菜單
- 仿谷歌google的搜索框下拉提示列表效果
- Web標(biāo)準(zhǔn)實(shí)戰(zhàn)CSS網(wǎng)頁(yè)布局豆瓣首頁(yè)
- DIVCSS實(shí)例:一款不錯(cuò)的CSS翻頁(yè)效果(DIGG)
- CSS實(shí)例教程:CSS橫向菜單會(huì)動(dòng)的小豎條
- CSS布局欣賞:淘寶首頁(yè)布局效果
- CSS去除表格td默認(rèn)間距及制作1px細(xì)線表格
- CSSFormExample:帶有小圖標(biāo)的清爽CSS表單設(shè)計(jì)!
猜你也喜歡看這些
- 用正則表達(dá)式替換a標(biāo)記href值
- overflow與text-indent:-9999px 字體隱藏及input value偏移
- DIVCSS教程:判斷用戶瀏覽器及分辨率調(diào)用不同的CSS樣式文件
- 如何處理圖標(biāo)文字的混排?
- DIVCSS網(wǎng)頁(yè)布局:最小高度(min-height)的妙用
- 為什么無(wú)法定義高度為1px左右的容器
- Web標(biāo)準(zhǔn)設(shè)計(jì)技巧之一文本排版淺議
- Web標(biāo)準(zhǔn)化之form語(yǔ)義結(jié)構(gòu)的實(shí)例
- LI中內(nèi)容超過(guò)長(zhǎng)度后以省略號(hào)顯示的方法
- 完全CSS下拉菜單,只用CSS,純CSS構(gòu)筑!
- 相關(guān)鏈接:
- 教程說(shuō)明:
DIV+CSS實(shí)例-用css網(wǎng)站布局之十步實(shí)錄!(九)
。