bootstrap导航栏的辛酸史
昨天本来想完成test10的页面内容的,但是给老铁拉出去打麻将呢。不过还好昨天写了一些内容。现在奉上。不作更改。
今天完成的事情:(实现了test9的响应式导航栏的垂直平分和下拉列表的居中问题。)
我觉得最麻烦的就是要在bootstrap的格式下修改。我弄了好多次demo来虐导航栏。但是一直都没有头绪。知道昨晚在完玩狼人杀后,突然灵机一闪。
能不能通过内部的固定高度,来实现垂直平分的效果呢。
在查看psd图的效果是导航栏的a是垂直平分的。

那么我可否通过固定a超链接的高度来实现垂直平分呢?
<div "h-nav">
<nav "container navbar navbar-default" role="navigation">
<div "row">
<div "navbar-header df-jcsbc">
<a "navbar-brand" href="#">
<img src="img/test8-1/logo6.png" "">
</a>
<button type="button" " navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
<span "sr-only">切换导航</span>
<span "icon-bar"></span>
<span "icon-bar"></span>
<span "icon-bar"></span>
</button>
</div>
<div "collapse navbar-collapse" id="navbar-collapse">
<ul id="h-cell-1" "nav navbar-nav lsno navbar-right">
<li ""><a href="test9-1.html">首页</a></li>
<li ""><a href="test9-3.html"><span "dib">职业</span></a></li>
<li ""><a href="test9-2.html"><span "dib pat">推荐</span></a></li>
<li ""><a href="#"><span "dib pat">关于</span></a></li>
</ul>
</div>
</div>
</nav>
</div>
带着这种想法,我设定了如下属性。
#h-cell-1 a{
display:inline-block;
height:97px;
margin-left:32px;
font-size:17.8px;
text-decoration: none;color:white;
}

为此怎么实现垂直居中呢?
第一点想到的是position定位了
既然要实现相对于a超链接的position,那么必须引入一个span盒子了。
<li ""><a href="test9-2.html"><span "dib pat">推荐</span></a></li>
然后增加
#h-cell-1 li{height:97px;}
#h-cell-1 a{
display:inline-block;
position:relative;
width:40px;
height:97px;
margin-left:32px;
border-bottom:2px solid #20B176;
font-size:17.8px;
text-decoration: none;color:white;
}
#h-cell-1 a span{width:40px;}
就可实现垂直居中了!
但另外一个问题又接着出现了,在galaxy5的小屏幕下,下拉菜单的li间距太大,不美观。

又该怎么办呢?
这个是在28号晚上想到方法的。灵感也是看了其他同学的日报。他们提到媒体查询。
好,什么是媒体查询。建议百度。这里不做介绍。
媒体查询是吧,好那么久好办了。
@media only screen and (max-width: 700px) {
#h-cell-1 li{height:auto;}
#h-cell-1 a{height:20px;width:100%;margin:;padding:;overflow:hidden;}
#h-cell-1 a span{height:auto;}
}
ok,完美。
但是还有问题啊!

图标,和按钮原本是不垂直居中的啊!那这个怎么搞!
<div "navbar-header df-jcsbc">
<a "navbar-brand" href="#">
<img src="img/test8-1/logo6.png" "">
</a>
<button type="button" " navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
<span "sr-only">切换导航</span>
<span "icon-bar"></span>
<span "icon-bar"></span>
<span "icon-bar"></span>
</button>
</div>
他们不是都在navbar-header的盒子里吗?
那不能通过flex两端对齐来实现垂直吗?
试试看
加了个
.df-jcsbc{display:flex;justify-content: space-between;align-items: center;}
但是效果不理想啊!总体来说,.navbar-brand 和navbra-toggle实现了垂直居中。

那,怎么办呢?
我是直接弄
.navbar-header{position: relative;height:97px;}
.navbar-brand{
padding:;
}
.navbar-header img{position:absolute;
left:20px;}
.navbar-header button{position:absolute;
margin:;
right:20px;}
padding和margin来使他们让出位置来的。
然后通过定位稍微调了点左右距离。
最后就可以实现垂直居中了。
明天及今天计划的事情:(是按照大娃师兄,提出的UI自检 :首先对照字体大小,颜色,边距,定位等问题,之后在不同的分辨率下查看是否有布局错乱,不协调等问题。来做test10。)
bootstrap导航栏的辛酸史的更多相关文章
- BootStrap导航栏的使用
默认的导航栏 创建一个默认的导航栏的步骤如下: 向 <nav> 标签添加 class .navbar..navbar-default. 向上面的元素添加 role="naviga ...
- 自定义bootstrap样式-9行样式自定义漂亮大气bootstrap导航栏
有人说前端发展太快,框架太多,各有所需,各有所长.看看这幅图,估计都知道这些框架,但是大部分公司中实际要用到的也就那么几个. 发展再快,框架再多.还是得回到原点,不就是Html+Css+JavaScr ...
- Bootstrap -- 导航栏样式、分页样式、标签样式、徽章样式
Bootstrap -- 导航栏样式.分页样式.标签样式.徽章样式 1. 使用图标的导航栏 使用导航栏样式: <!DOCTYPE html> <html> <head&g ...
- Bootstrap导航栏实例讲解
导航栏是一个很好的功能,是 Bootstrap 网站的一个突出特点.导航栏是响应式元组件就,作为应用程序或网站的导航标题.导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也会水平展开. ...
- Bootstrap导航栏navbar源码分析
1.本文目地:分析bootstrap导航栏及其响应式的实现方式,提升自身css水平 先贴一个bootstrap的导航栏模板 http://v3.bootcss.com/examples/navbar- ...
- bootstrap导航栏.nav与.navbar区别
刚刚看了bootstrap的导航栏,发现有点弄混了,现在来整理一下: 一.简单的ul,li组成的导航: <ul class="nav nav-pills justify-content ...
- Bootstrap导航栏
导航栏: <div id="menu-nav" class="navbar navbar-default navbar-inverse navbar-fixed-t ...
- bootstrap导航栏PC端移动端之不同样式
在此之前,我先说我之所以要改变网站PC移动双端不同样式的原因. 首先我的网站用到了bootstrap响应式布局,这是我网站的PC端导航栏: 这是我网站的移动端导航栏,看着就难受: 我用谷歌浏览器F12 ...
- eclipse Maven Bootstrap 导航栏
1.在pom.xml添加两个依赖 Bootstrap 依赖和jQuery依赖 代码如下 <!-- https://mvnrepository.com/artifact/org.webjars/b ...
随机推荐
- hadoop HDFS文件系统的特征
hadoop HDFS文件系统的特征 存储极大数目的信息(terabytes or petabytes),将数据保存到大量的节点当中.支持很大单个文件. 提供数据的高可靠性,单个或者多个节点不工作,对 ...
- eclipse gradle 找不到依赖解决办法
右击工程,选择gradle 在点击Refresh Gradle Project 即可,..不得不说,gradle 在eclipse 下真没maven 好用.....
- 关于c++中const的基本用法
c++中的const 有点类似于c里的宏定义#define,但是似乎是在宏定义基础上的代码优化,具体我解释不清,下面主要提到的是 const 在c++中的3中基本用法: 1.指向常量的指针 例如:co ...
- hdu2066一个人的旅行(disjkstra)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- Tcpdump 的详细用法
1.抓取回环网口的包:tcpdump -i lo 2.防止包截断:tcpdump -s0 3.以数字显示主机及端口:tcpdump -n 第一种是关于类型的关键字,主要包括host,net,port, ...
- RequestContextHolder与RequestContextUtils
org.springframework.web.servlet.support.RequestContextUtils 在spring-webmvc中, 主要用来获取WebApplicationCon ...
- google chrome浏览器自动填充解决方案
在chrome浏览器中,浏览器对于[1]type为password和text的.[2]带有name或者id属性的<input>标签会有自动填充表单功能,虽然会给用户记住密码带来一定的便利, ...
- java——cmd命令编译带包名的源程序
.java文件的绝对路径:C:\eclipse-workspace\test_01\src\test\try.java try.java的包名为:package test; 在cmd中 cd C:\e ...
- docker+ bind mount 部署复杂flask应用
报错如下: [root@test-wenqiang flask-skeleton]# docker run -d -p 80:5000 -v $(pwd):/skeleton --name flask ...
- leetcode 892. 三维形体的表面积
题目描述: 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 返回最终形体的表面积. ...