CSS3 二級導(dǎo)航菜單的制作的示例

如果想要實(shí)現(xiàn)網(wǎng)頁的二級導(dǎo)航,我們可以使用JS技術(shù),動態(tài)的顯示和隱藏二級菜單,當(dāng)然也可以使用CSS技術(shù)來實(shí)現(xiàn)。并且這里推薦使用CSS,因?yàn)槠湫矢?,更流暢。這里將介紹二級菜單的動態(tài)顯示與隱藏。
1 結(jié)構(gòu)
一般導(dǎo)航的主體我們主要是使用ul li標(biāo)簽
<body> <header> <!-- 一級導(dǎo)航開始 --> <nav> <ul class="menu"> <li> <a href="#">首頁</a> </li> <li> <a href="#">產(chǎn)品</a> <!-- 二級導(dǎo)航開始 --> <ul class="submenu"> <li><a href="#">小程序</a></li> <li><a href="#">微信</a></li> <li><a href="#">企業(yè)站</a></li> </ul> <!-- 二級導(dǎo)航結(jié)束 --> </li> <li> <a href="#">服務(wù)</a> <!-- 二級導(dǎo)航開始 --> <ul class="submenu"> <li><a href="#">技術(shù)支持</a></li> <li><a href="#">產(chǎn)品外包</a></li> </ul> <!-- 二級導(dǎo)航結(jié)束 --> </li> <li><a href="#">關(guān)于我們</a></li> <li><a href="#">人才招聘</a></li> </ul> </nav> <!-- 一級導(dǎo)航結(jié)束 --> </header> </body>
2 布局
導(dǎo)航的布局,由于子元素要隨著父元素,所以對二級菜單選取定位布局。要想讓多個(gè)li在一行中顯示,那么就需要讓li進(jìn)行浮動。
body{margin: 0; font-size: 14px; color: #666} ul,ol{margin: 0;padding: 0; list-style: none;} a {text-decoration: none; color: #666;} /*一級導(dǎo)航*/ /*背景色*/ ul.menu,ul.submenu { background-color: #ededed; } /*一級導(dǎo)航浮動*/ ul.menu::after { content: ''; display: block; clear: both; } ul.menu > li { float: left; width: 120px; line-height: 3em; height: 3em; text-align: center; cursor:pointer; } /*二級導(dǎo)航項(xiàng)分割線*/ ul.submenu { /*默認(rèn)隱藏*/ display: none; } ul.submenu > li { border-bottom: 1px solid #fff; } /*內(nèi)容區(qū)*/ .content { min-height: 800px; background-color: #fff; }
3. 二級菜單顯示特效
光標(biāo)放到導(dǎo)航上,當(dāng)前元素背景色變深,字體顏色變淡。
如果有二級菜單,顯示二級菜單
為了實(shí)現(xiàn)上述兩個(gè)特效,我們可以利用偽類選擇器(:hover)來捕捉光標(biāo)懸浮的操作。并且使用偽類選擇器(:hover)來選擇到當(dāng)前菜單對應(yīng)的二級菜單
利用如下CSS可以快速實(shí)現(xiàn)該特效。
/*選中特效*/ ul.menu > li:hover { background-color: #666; } ul.menu > li:hover > a { color: #fff; } ul.menu > li:hover > ul.submenu { display: block; }
4. 動畫
上述代碼中二級菜單的顯示是瞬間的。能否提供一個(gè)緩慢動畫過渡的效果,當(dāng)然也是沒問題。這里需要使用animation來進(jìn)行動畫的配置,那么動畫幀可以自己寫或者是尋求第三方代碼庫(animate.css)的支持。這里我將使用透明度來實(shí)現(xiàn)這個(gè)淡入效果
/*動畫幀*/ @keyframes fade { from { opacity: 0; } to { opacity: 1; } } /*基礎(chǔ)動畫樣式*/ .animated { animation-duration: 1s; animation-fill-mode: both; } .fadeIn { animation-name: fade; animation-direction: normal; }
動畫定義好后,可以直接將動畫樣式引用到ul.submenu上,注意,如果使用的是animate.css,那么上述步驟將省略,直接用其提供好的動畫樣式即可。
<!-- 二級導(dǎo)航開始 --> <ul class="submenu animated fadeIn"> <li><a href="#">小程序</a></li> <li><a href="#">微信</a></li> <li><a href="#">企業(yè)站</a></li> </ul> <!-- 二級導(dǎo)航結(jié)束 -->
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了CSS 帶搜索導(dǎo)航欄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)2021-02-22
html+css+js實(shí)現(xiàn)導(dǎo)航欄滾動漸變效果
這篇文章主要介紹了html+css+js實(shí)現(xiàn)導(dǎo)航欄滾動漸變效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-28css錨點(diǎn)定位被頂部固定導(dǎo)航欄遮住的解決方案
這篇文章主要介紹了css錨點(diǎn)定位被頂部固定導(dǎo)航欄遮住的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小2020-04-09- 這篇文章主要介紹了純CSS實(shí)現(xiàn)導(dǎo)航欄下劃線跟隨效果,本文圖文并茂實(shí)例代碼詳解,給大家介紹的非常詳細(xì),需要的朋友參考下吧2019-12-09
html+css 實(shí)現(xiàn)簡易導(dǎo)航欄功能
這篇文章主要介紹了基于html+css 實(shí)現(xiàn)簡易導(dǎo)航欄功能,主要就是css(級聯(lián)樣式表)對html的內(nèi)容做格式化。具體內(nèi)容詳情大家跟隨小編一起通過本文學(xué)習(xí)吧2021-04-07CSS導(dǎo)航條菜單之帶小三角形的實(shí)現(xiàn)代碼
這篇文章主要介紹了CSS導(dǎo)航條菜單之帶小三角形的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-22css實(shí)現(xiàn)導(dǎo)航切換的實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了css實(shí)現(xiàn)導(dǎo)航切換效果,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-08-15CSS設(shè)置列表樣式和創(chuàng)建導(dǎo)航菜單實(shí)現(xiàn)代碼
這篇文章主要介紹了CSS設(shè)置列表樣式和創(chuàng)建導(dǎo)航菜單實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-07-24CSS中的導(dǎo)航欄和下拉菜單的實(shí)現(xiàn)
這篇文章主要介紹了CSS中的導(dǎo)航欄和下拉菜單的實(shí)現(xiàn)的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-18純CSS + 媒體查詢實(shí)現(xiàn)網(wǎng)頁導(dǎo)航效果
這篇文章主要介紹了純CSS + 媒體查詢實(shí)現(xiàn)網(wǎng)頁導(dǎo)航效果,需要的朋友可以參考下2018-05-02