使用bootstrap3.0搭建一个具有自定义风格的侧边导航栏
由于工作变动,新的项目组,可能会涉及到更多的类似于后台管理系统这一类的项目,而且开发可能更加偏向于传统型的开发,希望今后能够在新的项目中能够用得上vuejs吧!
接手项目的时候,就是一个后台管理系统,而且采用了Bootstrap进行搭建,页面大致模型也基本搭建成功了。然后看到页面上有一个侧边栏,之前是他们从别的地方找出来的一个侧边栏,给人的感觉总是差那么点意思。所以重构了一下。具体的效果,请移步bootstrap-sidebar 。
其实主要就解决了两个问题:
1、与内容等高,最小高度为一屏的高度。
之前是设置了一个最小高度,min-height: 1200px; 问题在于当页面内容很少的时候,不足一屏,此时也会出现滚动条。
html {
min-height: 100%;
position: relative;
}
关键点在于给html标签设置一个position:relative; 然后左侧导航栏进行相对定位的时候,才能相对到html标签,而不能让其默认相对body标签,经过验证,即使给body标签设置同样的样式的时候,在不满一屏和超过一屏当中切换的时候,无法达到我们预想的效果,而设置html标签的属性,则能完美达成。
2、自定义部分导航样式
这块其实就是写css咯,每一个前端应该都是从这里入门的吧!
我使用了scss预编译,本身Bootstrap官方也提供了sass版本的。所以继续写就好了。也没什么好说的!
@import "./bootstrap/variables";
$brand-muted: $gray-light !default;
$scences: ( "primary": $brand-primary, "success": $brand-success, "info": $brand-info, "danger": $brand-danger, "muted": $brand-muted, "warning": $brand-warning);
// 导航栏的辅助色调是否以自己设置的色值来显示,还是使用primary、 success等色值
// 自定制的话$isCustomNavBgColor为true,$navBgColor传入自定制的色值
$isCustomNavBgColor: false;
$navBgColor: orange;
html {
min-height: 100%;
position: relative;
} .wrap {
padding-left: 20%;
} @media screen and (min-width: 1500px) {
.wrap {
padding-left: 300px;
}
} @media screen and (max-width: 1200px) {
.wrap {
padding-left: 240px;
}
} /**
* 背景色的设置
* params: $color 初始化默认颜色 $lignten 提升亮度百分比
*/ @mixin changeBgColor($color: rgb(34, 40, 55), $lignten: 0) {
@if $lignten && $lignten !=0 {
background-color: lighten($color, $lignten);
}
@else {
background-color: $color;
}
} @each $scence,
$theme in $scences {
$color: map-get($scences, $scence);
@if $isCustomNavBgColor==true {
$color: $navBgColor;
}
.nav-#{$scence} {
li {
a {
color: lighten($color, 45%);
padding: $panel-body-padding;
&:hover {
color: lighten($color, 45%);
background-color: darken($color, 15%);
}
&:focus {
@include changeBgColor($lignten: 10%);
}
}
&.active {
a {
color: $color;
&:hover {
color: lighten($color, 45%);
}
}
}
&.active:after {
background-color: $color;
}
}
}
} .nav-aside {
@include changeBgColor();
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 20%;
min-width: 240px;
max-width: 300px;
li {
position: relative;
a {
@include changeBgColor($lignten: 10%);
}
&.active:after {
content: "";
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 4px;
}
}
} .nav {
#{&} {
margin-top: 2px;
li a {
text-indent: 1em;
}
}
}
使用bootstrap3.0搭建一个具有自定义风格的侧边导航栏的更多相关文章
- [置顶]
bootstrap自定义样式-bootstrap侧边导航栏的实现
前言 bootstrap自带的响应式导航栏是向下滑动的,有时满足不了个性化的需求,需要做一个类似于android drawerLayout 侧滑的菜单,这就是我要实现的bootstrap自定义侧滑菜单 ...
- 自定义bootstrap样式-9行样式自定义漂亮大气bootstrap导航栏
有人说前端发展太快,框架太多,各有所需,各有所长.看看这幅图,估计都知道这些框架,但是大部分公司中实际要用到的也就那么几个. 发展再快,框架再多.还是得回到原点,不就是Html+Css+JavaScr ...
- Android自定义View——实现字母导航栏
1.自定义View实现字母导航栏 2.ListView实现联系人列表 3.字母导航栏滑动事件处理 4.字母导航栏与中间字母的联动 5.字母导航栏与ListView的联动 1.先看主布局,方便后面代码的 ...
- 从0搭建一个基于 ELK 的日志、指标收集与监控系统
为了使得私有化部署的系统能更健壮,同时不增加额外的部署运维工作量,本文提出了一种基于 ELK 的开箱即用的日志和指标收集方案. 在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数 ...
- react全家桶从0搭建一个完整的react项目(react-router4、redux、redux-saga)
react全家桶从0到1(最新) 本文从零开始,逐步讲解如何用react全家桶搭建一个完整的react项目.文中针对react.webpack.babel.react-route.redux.redu ...
- ios 实现自定义状态栏StatusBar 和 导航栏navigationBar 的状态和颜色
很多app中可以看到不同与导航栏的状态栏的颜色,他妈的真绕嘴. 一.更改状态栏颜色 (StatusBar) 就是比如导航栏是红色的状态栏是绿色的. 要实现这样的效果其实很简单,就是添加一个背景view ...
- 【VIP视频网站项目一】搭建视频网站的前台页面(导航栏+轮播图+电影列表+底部友情链接)
首先来直接看一下最终的效果吧: 项目地址:https://github.com/xiugangzhang/vip.github.io 在线预览地址:https://xiugangzhang.githu ...
- 一个可以拓展的垂直多级导航栏 Demo
大四党忙忙碌碌找工作,博客荒废久矣,可谓:终日昏昏醉梦间,忽闻春尽强登山.因过竹院逢僧话,偷得浮生半日闲. 这是个垂直的导航栏,可以有无限多层的子级菜单,看代码注释就够了: <!DOCTYPE ...
- MFC office2007风格设置左侧导航栏 [转]
当基础的框架搭好以后,我想为其添加一个左侧导航栏,过程如下:在框架类的头文件添加一个导航栏参数: CMFCOutlookBar m_navigation; 为了完善功能,在导航栏里面我添加了一个CTr ...
随机推荐
- 洛谷 4383 [八省联考2018]林克卡特树lct——树形DP+带权二分
题目:https://www.luogu.org/problemnew/show/P4383 关于带权二分:https://www.cnblogs.com/flashhu/p/9480669.html ...
- Go hashcode 输入一个字符串,得到一个唯一标识码
如何输入一个字符串,得到一个唯一的hashcode? 例子如下: package main import ( "fmt" "hash/crc32" ) // S ...
- java -jar 执行jar包出现 java.lang.NoClassDefFoundError
我用idea工具将自己开发java程序打成一个可执行的jar包,当然用eclipse或者直接用jar命令行都无所谓,本质都是将程序归档到一个压缩包,并附带一个说明清单文件. 打jar的操作其实很简单, ...
- Java通过webservice接口获取天气信息
通过SOAP请求的方式获取天气信息并解析返回的XML文件. 参考: http://www.webxml.com.cn/WebServices/WeatherWS.asmx import java.io ...
- jpa随笔
1对多的关系 //多的一方@Entity @Table(name="car_distribute") public class DistributeCar extends Cust ...
- TransportClient 新建index,mappings dynamic_templates。
public void createIndex(TransportClient client, String index){ CreateIndexRequest request = new Crea ...
- App音频内录 录音
1.android模拟器 天天模拟器+BlueStacks 2.高清内录软件 Audio Record Wizard.exe 3.音频剪切软件 Adobe Audition CS6
- Excel技巧--批量生成指定名称的文件夹
当我要按excel表当中的名字来批量生成文件夹时,手动一个个制作很麻烦(特别是成百上千个时).于是我们可以这么做: 1.在名字右侧建立公式:"MD "&A2. 2.将公式拖 ...
- Ubuntu16.04 LTS软件中心闪退及修改阿里源
现象: 进入软件中心点击任意,直接退出 解决办法: 先更换软件源,我的为阿里云 1. 备份 源位置 :/etc/apt/sources.list 2. 更改 sudo vi /etc/apt/sour ...
- awk中使用shell的环境变量
awk中使用shell的环境变量一:"'$var'"这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:var="test"awk 'BEGIN ...