通过添加类和媒体查询实现侧边导航栏的显示隐藏效果
2017-01-11 09:22
423 查看
实现效果:
bootstrap中:AdminLTE主页的侧边栏显示隐藏的效果
目的:让页面适用移动端设备
内容:
html结构:
<body>
<div class="wrapper">
<aside class="main-sidebar">//侧面导航栏
<section class="sidebar">
<ul class="sidebar-menu">
<li>
全部文件
</li>
</ul>
</section>
</aside>
<div class="content-wrapper">//右侧主要展示内容
<!-- toggle切换按钮 -->
<div class=" icon-btn sr-only" style="background-color:#3c8dbc;padding:10px;">
<i class=" fa fa-fw fa-align-justify" style="font-size:px;color:#fff;"></i>
</div>
<section class="content"> //内容
</section>
</div>
</div>
</body>
js部分:
// 监听浏览器窗口小于767px,左侧导航隐藏,toggle按钮出现
$(window).resize(function(){
if($(document.body).width() < 767){
$('.icon-btn').removeClass('sr-only').addClass('show');
$('li').on('click', function(){ $('body').removeClass('sidebar-open');})
}else{
$('.icon-btn').addClass('sr-only');
}
})
css部分(主要是媒体查询):
.wrapper {
min-height: 100%;
position: relative;
overflow: hidden;
}
.main-sidebar {
position: absolute;
top: 0;
left: 0;
padding-top: 50px;
min-height: 100%;
width: 230px;
z-index: 810;
}
content-wrapper{
min-height: 100%;
z-index: 800;
margin-left:230px;
}
@media (max-width: 767px) {
.main-sidebar,
{
-webkit-transform: translate(-230px, 0);
-ms-transform: translate(-230px, 0);
-o-transform: translate(-230px, 0);
transform: translate(-230px, 0);
}
}
@media (max-width: 767px) {
.sidebar-open .main-sidebar,
{
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
}
@media (max-width: 767px)
.content-wrapper {
margin-left: 0;
}
@media (max-width: 767px)
.sidebar-open .content-wrapper {
transform: translate(230px,
0);
}
描述:刚开始给wrapper 盒子设置 position: relative;,.main-sidebar设置 position: absolute;和定宽及content-wrappe设置左外边距230px;
当媒体查询max-width: 767px,main-sidebar移动到到坐标0(此时切换按钮出现,见js)
当点击按钮:给body添加类sidebar-open,然后就会媒体查询侧边栏坐标会回到230位置,且sidebar-open下的content-wrapper会右移动230;
再次点击,移除body添加的类sidebar-open,样式回到恢复到没有类sidebar-open状态
bootstrap中:AdminLTE主页的侧边栏显示隐藏的效果
目的:让页面适用移动端设备
内容:
html结构:
<body>
<div class="wrapper">
<aside class="main-sidebar">//侧面导航栏
<section class="sidebar">
<ul class="sidebar-menu">
<li>
全部文件
</li>
</ul>
</section>
</aside>
<div class="content-wrapper">//右侧主要展示内容
<!-- toggle切换按钮 -->
<div class=" icon-btn sr-only" style="background-color:#3c8dbc;padding:10px;">
<i class=" fa fa-fw fa-align-justify" style="font-size:px;color:#fff;"></i>
</div>
<section class="content"> //内容
</section>
</div>
</div>
</body>
js部分:
// 监听浏览器窗口小于767px,左侧导航隐藏,toggle按钮出现
$(window).resize(function(){
if($(document.body).width() < 767){
$('.icon-btn').removeClass('sr-only').addClass('show');
$('li').on('click', function(){ $('body').removeClass('sidebar-open');})
}else{
$('.icon-btn').addClass('sr-only');
}
})
css部分(主要是媒体查询):
.wrapper {
min-height: 100%;
position: relative;
overflow: hidden;
}
.main-sidebar {
position: absolute;
top: 0;
left: 0;
padding-top: 50px;
min-height: 100%;
width: 230px;
z-index: 810;
}
content-wrapper{
min-height: 100%;
z-index: 800;
margin-left:230px;
}
@media (max-width: 767px) {
.main-sidebar,
{
-webkit-transform: translate(-230px, 0);
-ms-transform: translate(-230px, 0);
-o-transform: translate(-230px, 0);
transform: translate(-230px, 0);
}
}
@media (max-width: 767px) {
.sidebar-open .main-sidebar,
{
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
}
@media (max-width: 767px)
.content-wrapper {
margin-left: 0;
}
@media (max-width: 767px)
.sidebar-open .content-wrapper {
transform: translate(230px,
0);
}
描述:刚开始给wrapper 盒子设置 position: relative;,.main-sidebar设置 position: absolute;和定宽及content-wrappe设置左外边距230px;
当媒体查询max-width: 767px,main-sidebar移动到到坐标0(此时切换按钮出现,见js)
当点击按钮:给body添加类sidebar-open,然后就会媒体查询侧边栏坐标会回到230位置,且sidebar-open下的content-wrapper会右移动230;
再次点击,移除body添加的类sidebar-open,样式回到恢复到没有类sidebar-open状态
相关文章推荐
- tftp在嵌入式中应用
- C数据结构---计数排序实现
- Android 系列 6.15处理长时间点击事件
- Oracle Log File Sync问题分析
- http://bugs.mysql.com/bug.php?id=72123
- 属性动画二--ValueAnimator
- matlab的cat函数
- Atom插件开发入门教程(四)
- Android如何实时监控CPU频率
- android中增删改查数据库数据并加载到ListView
- 星际文件存储IPFS是如何颠覆云存储的?
- Myeclipse错误:Errors occurred during the build. Errors running builder 'Deployment
- Bag of Features (BOF)图像检索算法
- js日期時間的計算
- Android 系列 6.14通过旋转器类提供下拉选择器
- 使用mybatis的ScriptRunner执行sql文件
- 【已解决】C#中集成DLL库到自己的exe程序中
- Android 系列 6.13使用卡片小部件
- Android 系列 6.12使用复选框和RadioButton
- STL 中 sort函数用法简介