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

如果想要實現(xiàn)網(wǎng)頁的二級導(dǎo)航,我們可以使用JS技術(shù),動態(tài)的顯示和隱藏二級菜單,當然也可以使用CSS技術(shù)來實現(xiàn)。并且這里推薦使用CSS,因為其效率更高,更流暢。這里將介紹二級菜單的動態(tài)顯示與隱藏。
1 結(jié)構(gòu)
一般導(dǎo)航的主體我們主要是使用ul li標簽
<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)航的布局,由于子元素要隨著父元素,所以對二級菜單選取定位布局。要想讓多個li在一行中顯示,那么就需要讓li進行浮動。
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)航項分割線*/ ul.submenu { /*默認隱藏*/ display: none; } ul.submenu > li { border-bottom: 1px solid #fff; } /*內(nèi)容區(qū)*/ .content { min-height: 800px; background-color: #fff; }
3. 二級菜單顯示特效
光標放到導(dǎo)航上,當前元素背景色變深,字體顏色變淡。
如果有二級菜單,顯示二級菜單
為了實現(xiàn)上述兩個特效,我們可以利用偽類選擇器(:hover)來捕捉光標懸浮的操作。并且使用偽類選擇器(:hover)來選擇到當前菜單對應(yīng)的二級菜單
利用如下CSS可以快速實現(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. 動畫
上述代碼中二級菜單的顯示是瞬間的。能否提供一個緩慢動畫過渡的效果,當然也是沒問題。這里需要使用animation來進行動畫的配置,那么動畫幀可以自己寫或者是尋求第三方代碼庫(animate.css)的支持。這里我將使用透明度來實現(xiàn)這個淡入效果
/*動畫幀*/ @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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了CSS 帶搜索導(dǎo)航欄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習2021-02-22
html+css+js實現(xiàn)導(dǎo)航欄滾動漸變效果
這篇文章主要介紹了html+css+js實現(xiàn)導(dǎo)航欄滾動漸變效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-28- 這篇文章主要介紹了css錨點定位被頂部固定導(dǎo)航欄遮住的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小2020-04-09
- 這篇文章主要介紹了純CSS實現(xiàn)導(dǎo)航欄下劃線跟隨效果,本文圖文并茂實例代碼詳解,給大家介紹的非常詳細,需要的朋友參考下吧2019-12-09
- 這篇文章主要介紹了基于html+css 實現(xiàn)簡易導(dǎo)航欄功能,主要就是css(級聯(lián)樣式表)對html的內(nèi)容做格式化。具體內(nèi)容詳情大家跟隨小編一起通過本文學習吧2021-04-07
CSS導(dǎo)航條菜單之帶小三角形的實現(xiàn)代碼
這篇文章主要介紹了CSS導(dǎo)航條菜單之帶小三角形的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-22- 本文通過實例代碼給大家介紹了css實現(xiàn)導(dǎo)航切換效果,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-08-15
CSS設(shè)置列表樣式和創(chuàng)建導(dǎo)航菜單實現(xiàn)代碼
這篇文章主要介紹了CSS設(shè)置列表樣式和創(chuàng)建導(dǎo)航菜單實現(xiàn)代碼,需要的朋友可以參考下2018-07-24- 這篇文章主要介紹了CSS中的導(dǎo)航欄和下拉菜單的實現(xiàn)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-18
純CSS + 媒體查詢實現(xiàn)網(wǎng)頁導(dǎo)航效果
這篇文章主要介紹了純CSS + 媒體查詢實現(xiàn)網(wǎng)頁導(dǎo)航效果,需要的朋友可以參考下2018-05-02