本文摘自PHP中文网,作者青灯夜游,侵删。
本篇文章给大家介绍一下bootstrap侧边导航栏的实现方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
相关推荐:《bootstrap教程》
bootstrap侧边导航栏实现原理
侧滑栏使用定位fixed
使用bootstrap响应式使用工具类 visible-sm visible-xs hidden-xs hidden-sm等对不同屏幕适配
侧滑栏的侧滑效果不使用jquery方法来实现,使用的是css3 transforms属性进行div的移动,侧滑的动画效果使用的是css属性transition
缺点:使用两套菜单,一套是pc端屏幕显示的菜单,一套是移动端显示的手机导航菜单,这个缺点比较明显,生成无关的标签,优点代码少,简单容易接受
效果图
bootstrap导航栏布局
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!--手机导航栏-->
<div id=
"mobile-menu"
class
=
"mobile-nav visible-xs visible-sm"
>
<ul>
<li><a href=
"#"
>首页</a></li>
<li><a href=
"#"
>Java</a></li>
<li><a href=
"#"
>SVN</a></li>
<li><a href=
"#"
>iOS</a></li>
</ul>
</div>
<!--pc导航栏-->
<nav
class
=
"navbar-inverse visible-lg visible-md"
role=
"navigation"
>
<div
class
=
"container"
>
<div
class
=
"navbar-header"
>
<a
class
=
"navbar-brand"
href=
"#"
>菜鸟教程</a>
</div>
<div>
<ul
class
=
"nav navbar-nav"
>
<li
class
=
"active"
><a href=
"#"
>iOS</a></li>
<li><a href=
"#"
>SVN</a></li>
<li><a href=
"#"
class
=
"dropdown-toggle"
data-toggle=
"dropdown"
>Java</a></li>
</ul>
</div>
</div>
</nav>
<!--手机导航栏侧滑-->
<div
class
=
"nav-btn visible-xs visible-sm"
>
<a href=
"#"
class
=
"mobile-nav-taggle"
id=
"mobile-nav-taggle"
>
<span
class
=
"glyphicon glyphicon-align-justify"
></span>
</a>
</div>
一个导航栏的布局,用了两个导航菜单,一个是pc端的,一个是手机端,利用bootstrap响应式使用工具类visible-xs visible-sm来实现pc端隐藏切换按钮; visible-lg visible-md 实现了pc端显示导航栏;visible-xs visible-sm实现手机端显示手机导航栏。 bootstrap响应式工具类详见:https://www.runoob.com/bootstrap/bootstrap-responsive-utilities.html
css实现布局和侧滑效果(侧滑的关键css3属性transform、transition)
代码不多,仅仅10行
1
2
3
4
5
6
7
8
9
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);}
.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:旋转div,支持元素2D或3D旋转,属性值translateX(X)就是在X轴上移动Xpx的距离 http://www.w3school.com.cn/cssref/pr_transform.asp 而侧滑的动画效果是使用transition属性,设置属性的过渡动画的效果,语法 transition: property duration timing-function delay; http://www.w3school.com.cn/cssref/pr_transition.asp
单击事件切换侧滑
1
2
3
4
5
6
7
8
9
10
11
12
13
$(
"#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)
}
})
总结
不推荐用两个菜单导航栏,缺点很明显,为了实现效果而已,不要介意,其实用一个菜单导航栏也是可以实现,试试media 完全可以实现。
代码下载:http://download.csdn.net/detail/kebi007/9909725
更多编程相关知识,请访问:编程入门!!
以上就是bootstrap实现简单侧边导航栏效果 的详细内容,更多文章请关注木庄网络博客 !
相关阅读 >>
bootstrap 3.0是哪一年推出的
bootstrap 框架怎么自适应手机
bootstrap -table数据刷新后留在当前页
bootstrap remote用法是什么
bootstrap 对于后端工程师重要么
bootstrap 是干什么的
bootstrap 开头的那些文件怎么引入的
bootstrap 如何设置div边框
深入了解bootstrap 中的媒体对象
bootstrap table分页问题汇总【附答案&代码】
更多相关阅读请进入《bootstrap 》频道 >>
¥83.86元 人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » bootstrap实现简单侧边导航栏效果