BootStrap导航栏问题记录


Posted in Javascript onJuly 31, 2017

今天完成的事情:(实现了test9的响应式导航栏的垂直平分和下拉列表的居中问题。)

我觉得最麻烦的就是要在bootstrap的格式下修改。我弄了好多次demo来虐导航栏。但是一直都没有头绪。知道昨晚在完玩狼人杀后,突然灵机一闪。

能不能通过内部的固定高度,来实现垂直平分的效果呢。

在查看psd图的效果是导航栏的a是垂直平分的。

BootStrap导航栏问题记录

那么我可否通过固定a超链接的高度来实现垂直平分呢?

<div "h-nav">
  <nav "container navbar navbar-default" role="navigation">
    <div "row">
      <div "navbar-header df-jcsbc">
        <a "navbar-brand" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >
          <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" rel="external nofollow" >首页</a></li>
          <li ""><a href="test9-3.html" rel="external nofollow" ><span "dib">职业</span></a></li>
          <li ""><a href="test9-2.html" rel="external nofollow" rel="external nofollow" ><span "dib pat">推荐</span></a></li>
          <li ""><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><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;
}

BootStrap导航栏问题记录

为此怎么实现垂直居中呢?

第一点想到的是position定位了

既然要实现相对于a超链接的position,那么必须引入一个span盒子了。

<li ""><a href="test9-2.html" rel="external nofollow" rel="external nofollow" ><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间距太大,不美观。

BootStrap导航栏问题记录

又该怎么办呢?

这个是在28号晚上想到方法的。灵感也是看了其他同学的日报。他们提到媒体查询。

好,什么是媒体查询。建议百度。这里不做介绍。

媒体查询是吧,好那么久好办了。

@media only screen and (max-width: 700px) {
#h-cell-1 li{height:auto;}
#h-cell-1 a{height:20px;width:100%;margin:0;padding:0;overflow:hidden;}
#h-cell-1 a span{height:auto;}
}

ok,完美。

但是还有问题啊!

BootStrap导航栏问题记录

图标,和按钮原本是不垂直居中的啊!那这个怎么搞!

<div "navbar-header df-jcsbc">
  <a "navbar-brand" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >
    <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实现了垂直居中。

BootStrap导航栏问题记录

那,怎么办呢?

我是直接弄

.navbar-header{position: relative;height:97px;}
.navbar-brand{
padding:0;

  }
.navbar-header img{position:absolute;
  left:20px;}
.navbar-header button{position:absolute;
  margin:0;
  right:20px;}

padding和margin来使他们让出位置来的。

然后通过定位稍微调了点左右距离。

最后就可以实现垂直居中了。

明天及今天计划的事情:(是按照大娃师兄,提出的UI自检 :首先对照字体大小,颜色,边距,定位等问题,之后在不同的分辨率下查看是否有布局错乱,不协调等问题。来做test10。)

总结

以上所述是小编给大家介绍的BootStrap导航栏问题记录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
基于逻辑运算的简单权限系统(实现) JS 版
Mar 24 Javascript
使用新的消息弹出框blackbirdjs
Oct 16 Javascript
鼠标经过的文本框textbox变色
May 21 Javascript
javascript 词法作用域和闭包分析说明
Aug 12 Javascript
JavaScript输入邮箱自动提示实例代码
Jan 13 Javascript
jquery 按键盘上的enter事件
May 11 Javascript
js拼接html注意问题示例探讨
Jul 14 Javascript
JSON相关知识汇总
Jul 03 Javascript
Vue.js动态组件解析
Sep 09 Javascript
jQuery File Upload文件上传插件使用详解
Dec 06 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
使用layui前端框架弹出form表单以及提交的示例
Oct 25 Javascript
Angular4 中内置指令的基本用法
Jul 31 #Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
Jul 31 #Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 #Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
Jul 31 #Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 #Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 #Javascript
Kindeditor单独调用多图上传实例
Jul 31 #Javascript
You might like
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
php中动态修改ini配置
2014/10/14 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
js 编写规范
2010/03/03 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
javascript实现拖放效果
2015/12/16 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
电大毕业自我鉴定
2014/02/03 职场文书
运动会800米加油稿
2014/02/22 职场文书
标准化管理实施方案
2014/02/25 职场文书
文案策划求职信
2014/03/18 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
文明礼仪标语
2014/06/13 职场文书
应用外语系自荐信
2014/06/26 职场文书
个性发展自我评价2015
2015/03/09 职场文书
2015年大学生工作总结
2015/04/21 职场文书
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python