極酷的三層分離的標(biāo)準(zhǔn)滑動(dòng)門導(dǎo)航菜單
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2009-04-02 19:34:43 作者:佚名
我要評(píng)論

網(wǎng)頁制作Webjx文章簡(jiǎn)介:本文一步一步手把手教你打造一個(gè)極酷的三層分離的標(biāo)準(zhǔn)滑動(dòng)門導(dǎo)航菜單,從思路、原理、步驟,手段可謂“無所不用其極”,即便你是菜鳥,相信你看了本文后,也能打造出屬于自己的超級(jí)漂亮的標(biāo)準(zhǔn)導(dǎo)航菜單。
本文一步一步手把手教你打造一個(gè)極酷的三層分離的標(biāo)準(zhǔn)滑動(dòng)門導(dǎo)航菜單,從思路、原理、步驟,手段可謂“無所不用其極”,即便你是菜鳥,相信你看了本文后,也能打造出屬于自己的超級(jí)漂亮的標(biāo)準(zhǔn)導(dǎo)航菜單。
我們要做成自適應(yīng)寬度的菜單,那么,我們就不能設(shè)置菜單的寬度值,所以我們不能像平時(shí)制作一個(gè)水平的有固定寬度的菜單的做法那樣,設(shè)置寬度,然后向左浮動(dòng)。如果這樣的話,每個(gè)菜單項(xiàng)的寬度不同時(shí),要分別定義每一項(xiàng)的寬度,那就必須給每個(gè)菜單項(xiàng)定義一個(gè)ID或CLASS,并且這種方式也不利后臺(tái)程序的動(dòng)態(tài)循環(huán)輸出。
我們需要的是像內(nèi)聯(lián)元素一樣從左到右自動(dòng)在一行內(nèi)排列每個(gè)菜單項(xiàng),那么我們就需要菜單以內(nèi)聯(lián)的方式表現(xiàn)出來,OK,我們就用display:inline吧,這是一個(gè)非常有用的屬性:它解析后的排列方式能達(dá)到我們的基本要求:在一行內(nèi)從左到右自動(dòng)排列標(biāo)簽元素,每一項(xiàng)寬度可以不同。
如果用上面這種屬性真的能滿足我們需要了,就沒有下面這一段文字內(nèi)容。
雖說這個(gè)屬性能滿足我們項(xiàng)目基本需要,可是它有一個(gè)非常致命的弱點(diǎn):它不能設(shè)置寬度和高度值,不信你可以試試。它只表現(xiàn)為文字的默認(rèn)高度和寬度,超出這個(gè)寬高值后就自動(dòng)隱藏了。這樣一來,我在這里面是有背景圖片的,要表現(xiàn)出這個(gè)圖片效果,我們需要給定一個(gè)寬度和高度。這就不能做出我們的效果了,郁悶!還好,還有一個(gè)屬性:display:inline-block;它的表現(xiàn)就是我們需要的。
但是…這個(gè)屬性也有致命弱點(diǎn),它只能被FF3等高級(jí)瀏覽器識(shí)別。其它的瀏覽器只能繞道而行了。啊哦!所以,統(tǒng)一瀏覽器標(biāo)準(zhǔn)是多么的重要?。】磥?,HACK也是我們逼不得已的一種解脫方式了。
還好,有高手早就找到了解決之道了。請(qǐng)大家先看看這兩篇文章。
相關(guān)教程:
《display:inline-block的應(yīng)用兩例》(秦歌)
《模擬兼容性的 inline-block 屬性》(懌飛)
原理我們都了解了,我們可以根據(jù)上面兩篇文章提供的技巧來做一個(gè)自適應(yīng)的菜單了。
我們先寫右側(cè)圖片的樣式,它是應(yīng)用在li元素的子節(jié)點(diǎn)A標(biāo)簽中的。
li a{display:inline-block; padding-right:30px; padding-top:10px; *padding-top:0; padding-bottom:13px; *padding-bottom:0; height:36px; background:url(images/button.gif) no-repeat right -36px; text-decoration:none; font-size:12px; color:#fff;}
我們先設(shè)置display:inline-block,然后我們?cè)儆胮adding來撐開它的邊距,讓它有一定的空間來裝填圖片。注意,這里的圖片路徑換成你自己的路徑。然后設(shè)置其它的樣式,如去掉下劃線,字體顏色,字體大小等等。設(shè)置圖片靠右對(duì)齊。
li a span{display:inline-block; padding-left:30px; padding-top:10px; *padding-top:0; padding-bottom:13px; padding-bottom:0; height:36px; line-height:36px; background:url(images/button.gif) no-repeat left top; font-weight:bold;}
按鈕左側(cè)的圖片是放在SPAN元素中的,將它的圖片向左對(duì)齊,也設(shè)置padding來撐開它的寬度和高度。
li a,li a span{display:inline;cursorointer;}
然后將它們的又設(shè)置回inline內(nèi)聯(lián)模式,觸發(fā)IE的haslayout特性。
在上面的代碼,我們還看到有一個(gè)HACK的應(yīng)用,*padding-bottom:0;和*padding-top:0;這用來解決IE與FF等瀏覽器不同效果的。不信你刪除后看看會(huì)有什么效果,在IE下高度伸展有問題。
好了下面該寫鼠標(biāo)移上時(shí)的效果了。
li a:hover{padding-right:30px;background:url(images/button.gif) no-repeat right -108px;}
li a:hover span{padding-left:30px;background:url(images/button.gif) no-repeat left -72px;font-weight:bold;}
再接下來是鼠標(biāo)點(diǎn)擊后的效果。
li a:active{padding-right:30px;background:url(images/button.gif) no-repeat right -180px;}
li a:active span{padding-left:30px;background:url(images/button.gif) no-repeat left -144px;font-weight:bold;}
ok,似乎大功告成,在不同瀏覽器下看看,似乎都能達(dá)到滿意的效果。下面是截圖:

圖四
現(xiàn)在純CSS版的滑動(dòng)門菜單基本上就做好了。
相關(guān)文章
AudioContext 實(shí)現(xiàn)音頻可視化(web技術(shù)分享)
這篇文章主要分享的是web技術(shù)的 AudioContext 實(shí)現(xiàn)音頻可視化,要實(shí)現(xiàn)音頻可視化得先實(shí)現(xiàn)一些炫酷的效果需要借助 Web Audio API提供的一些方法 AudioContext,下面詳細(xì)內(nèi)容2022-02-23- 這篇文章主要給大家介紹了web技術(shù)中的WebRTC記錄音視頻流,文章內(nèi)容圍繞主題展相關(guān)資料,需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-02-23
- 這是我通過網(wǎng)上查閱資料總結(jié)的一些編碼規(guī)范,用于鞏固對(duì)html,css頁面重構(gòu)時(shí)的基礎(chǔ),需要的朋友可以參考下2020-12-19
前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開發(fā)規(guī)范
這篇文章主要介紹了前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開發(fā)規(guī)范,需要的朋友可以參考下2017-01-21Web前端開發(fā)規(guī)范2017(HTML/JavaScript/CSS)
這是一份旨在增強(qiáng)團(tuán)隊(duì)的開發(fā)協(xié)作,提高代碼質(zhì)量和打造開發(fā)基石的編碼風(fēng)格規(guī)范,其中包含了 HTML, JavaScript 和 CSS/SCSS 這幾個(gè)部分。我們知道,當(dāng)一個(gè)團(tuán)隊(duì)開始指定并實(shí)行2017-01-21- 這篇文章主要為大家介紹了前端開發(fā)團(tuán)隊(duì)遵循和約定的代碼書寫規(guī)范,意在提高代碼的規(guī)范性和可維護(hù)性,需要的朋友可以參考下2017-01-21
響應(yīng)式Web之流式網(wǎng)格系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了響應(yīng)式Web之流式網(wǎng)格系統(tǒng)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-07-04在網(wǎng)頁標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實(shí)現(xiàn)方法
下面小編就為大家分享一篇在網(wǎng)頁標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實(shí)現(xiàn)方法。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-03-16Visual Foxpro 6.0 中文版安裝向?qū)?圖解)
基于很多用戶都在下載Visual Foxpro 6.0,但是有安裝vtp6.0經(jīng)驗(yàn)的朋友確很少,在安裝過程中總會(huì)出現(xiàn)這樣那樣的問題,基于這些問題,下面小編抽個(gè)時(shí)間把Visual Foxpro 6.02015-09-09網(wǎng)站日志200 0 64狀態(tài)碼的分析(協(xié)議子狀態(tài))
網(wǎng)站日志200 0 64狀態(tài)碼的分析介紹2012-10-29