這篇文章主要介紹bootstrap實現(xiàn)簡單側(cè)邊導(dǎo)航欄效果的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)是專業(yè)的岳池網(wǎng)站建設(shè)公司,岳池接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行岳池網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
bootstrap側(cè)邊導(dǎo)航欄實現(xiàn)原理
側(cè)滑欄使用定位fixed
使用bootstrap響應(yīng)式使用工具類 visible-sm visible-xs hidden-xs hidden-sm等對不同屏幕適配
側(cè)滑欄的側(cè)滑效果不使用jquery方法來實現(xiàn),使用的是css3 transforms屬性進(jìn)行div的移動,側(cè)滑的動畫效果使用的是css屬性transition
缺點:使用兩套菜單,一套是pc端屏幕顯示的菜單,一套是移動端顯示的手機(jī)導(dǎo)航菜單,這個缺點比較明顯,生成無關(guān)的標(biāo)簽,優(yōu)點代碼少,簡單容易接受
效果圖
bootstrap導(dǎo)航欄布局
一個導(dǎo)航欄的布局,用了兩個導(dǎo)航菜單,一個是pc端的,一個是手機(jī)端,利用bootstrap響應(yīng)式使用工具類visible-xs visible-sm來實現(xiàn)pc端隱藏切換按鈕; visible-lg visible-md 實現(xiàn)了pc端顯示導(dǎo)航欄;visible-xs visible-sm實現(xiàn)手機(jī)端顯示手機(jī)導(dǎo)航欄。
bootstrap響應(yīng)式工具類詳見:https://www.runoob.com/bootstrap/bootstrap-responsive-utilities.html
css實現(xiàn)布局和側(cè)滑效果(側(cè)滑的關(guān)鍵css3屬性transform、transition)
代碼不多,僅僅10行
* {margin:0;padding:0;} #mobile-menu {position:fixed;top:0;left:0;width:220px;height:100%;background-color:#373737;z-index:9999;} a:hover ,a:focus{text-decoration:none} .mobile-nav ul li a {color:gray;display:block;padding:1em 5%; border-top:1px solid #4f4f4f;border-bottom:1px solid #292929;transition:all 0.2s ease-out;cursor:pointer;#mobile-menu {position:fixed;top:0;left:0;width:220px;height:100%;background-color:#373737;z-index:9999;transition:all 0.3s ease-in;}} .mobile-nav ul li a:hover {background-color: #23A1F6;color: #ffffff;} .show-nav {transform:translateX(0);} .hide-nav {transform:translateX(-220px);} /*側(cè)滑關(guān)鍵*/ .mobile-nav-taggle {height:35px;line-height:35px;width:35px;background-color:#23A1F6;color:#ffffff;display:inline-block;text-align:center;cursor:pointer} .nav.avbar-inverse{position:relative;} .nav-btn {position:absolute;right:20px;top:20px;}
要值得注意的是css3的兩個屬性:
transform:旋轉(zhuǎn)div,支持元素2D或3D旋轉(zhuǎn),屬性值translateX(X)就是在X軸上移動Xpx的距離
http://www.w3school.com.cn/cssref/pr_transform.asp
而側(cè)滑的動畫效果是使用transition屬性,設(shè)置屬性的過渡動畫的效果,語法
transition: property duration timing-function delay;
http://www.w3school.com.cn/cssref/pr_transition.asp
單擊事件切換側(cè)滑
$("#mobile-nav-taggle").click(function () { var mobileMenu = $("#mobile-menu"); if (mobileMenu.hasClass("show-nav")) { setTimeout(function () { mobileMenu.addClass("hide-nav").removeClass("show-nav"); }, 100) } else { setTimeout(function (){ mobileMenu.addClass("show-nav").removeClass("hide-nav"); }, 100) } })
以上是“bootstrap實現(xiàn)簡單側(cè)邊導(dǎo)航欄效果的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!