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




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

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




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

在網(wǎng)頁顯示的只是圖中紅框標(biāo)出的部分,假如把每幅圖分為上,中,下三部分的話,未發(fā)生動作時顯示上部,當(dāng)光標(biāo)懸停時,顯示的是中部,被選擇時則顯示下部。
接下來進(jìn)入css代碼部分,先往css文件中寫入:
示例代碼 [m.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文件可讀性的說明,不會影響表現(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,需要加入以下代碼:
示例代碼 [m.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)目向左對齊就能使其從左到右橫向排列:
示例代碼 [m.hl5o.cn]
#main-nav li { float: left; }
為了使列表項(xiàng)目的尺寸和容納它的層保持一致,并利用浮動屬性使列表項(xiàng)目的文本隱藏,寫入:
示例代碼 [m.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)目上時,顯示背景圖片的中部,因此需要將背景圖片向上移動50px,寫入:
示例代碼 [m.hl5o.cn]
#main-nav li a:hover {
background-position: 0 -50px;
}
background-position: 0 -50px;
}
給各個列表項(xiàng)目設(shè)置寬度和背景圖片的路徑:
示例代碼 [m.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)目被選時,顯示背景圖片的下部。為此我們需要增加一些css代碼對原有的css表現(xiàn)作一些修改:
示例代碼 [m.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選擇器可以識別body標(biāo)簽的類(class),如html中為:
示例代碼 [m.hl5o.cn]
<body class="about">
以上css選擇器就讓li#about,li#about a,的背景向上移動100px,使其顯示背景圖片的下部。
假如我們希望網(wǎng)站頭部背景圖片也根據(jù)body標(biāo)簽的類進(jìn)行變換,就需修改css的#header為:
示例代碼 [m.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)頁的制作,依此類推,修改html中body的類為services/portfolio/contact制作相應(yīng)html文件并分別保存。
在css文件中添加各個網(wǎng)頁相應(yīng)的頭部背景圖片路徑(如services網(wǎng)頁的頭部背景圖片為services.jpg,在css中添加如下代碼):
示例代碼 [m.hl5o.cn]
body.services #header {
height: 150px;
background: #db6d16
url(../images/headers/services.jpg);
}
height: 150px;
background: #db6d16
url(../images/headers/services.jpg);
}
然后用超級鏈接將這些網(wǎng)頁連接起來,就組成了一個網(wǎng)站了。
相關(guān)DIV+CSS實(shí)例:
- 固定div容器的寬高,圖片居中(圖片不限制大�。�
- 用css制作有滾動條的居中彈出框
- 鼠標(biāo)指住(hover)變色的按鈕演示demo
- 10個很酷的涂鴉風(fēng)格國外網(wǎng)店設(shè)計(jì)展示
- jquery模擬瀏覽器滾動條效果
- 仿谷歌google的搜索框下拉提示列表效果
- JS顯示網(wǎng)頁最后更新時間
- CSS技巧:text-indent隱藏文字(以圖換字)
- CSS實(shí)例:三列自適應(yīng)等高且中列寬度自適應(yīng)
- DivCSS布局實(shí)例:很實(shí)用的圖文混排CSS列表-富有語義
- DivCSS實(shí)例:CSS菜單Flash效果用圖片模擬實(shí)現(xiàn)
- DivCSS布局實(shí)例用dldtdd來制作列表
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)頁布局豆瓣首頁
- DIVCSS實(shí)例:一款不錯的CSS翻頁效果(DIGG)
- CSS實(shí)例教程:CSS橫向菜單會動的小豎條
- CSS布局欣賞:淘寶首頁布局效果
- 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)頁布局:最小高度(min-height)的妙用
- 為什么無法定義高度為1px左右的容器
- Web標(biāo)準(zhǔn)設(shè)計(jì)技巧之一文本排版淺議
- Web標(biāo)準(zhǔn)化之form語義結(jié)構(gòu)的實(shí)例
- LI中內(nèi)容超過長度后以省略號顯示的方法
- 完全CSS下拉菜單,只用CSS,純CSS構(gòu)筑!
- 相關(guān)鏈接:
- 教程說明:
DIV+CSS實(shí)例-用css網(wǎng)站布局之十步實(shí)錄!(九)
。