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 相关文章推荐
学习YUI.Ext 第三天
Mar 10 Javascript
Array.prototype.concat不是通用方法反驳[译]
Sep 20 Javascript
js获取class的所有元素
Mar 28 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
创建自己的jquery表格插件
Nov 25 Javascript
JavaScript编程学习技巧汇总
Feb 21 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
Jul 22 Javascript
Node.js包管理器Yarn的入门介绍与安装
Oct 17 Javascript
原生js实现键盘控制div移动且解决停顿问题
Dec 05 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 Javascript
Angular 向组件传递模板的两种方法
Feb 23 Javascript
详解a标签添加onclick事件的几种方式
Mar 29 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中防止SQL注入方法详解
2014/12/25 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
Python编码时应该注意的几个情况
2013/03/04 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
python3实现弹弹球小游戏
2019/11/25 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
公安学专业求职信
2014/07/27 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
导游词之湖北武当山
2019/09/23 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
Python装饰器详细介绍
2022/03/25 Python
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript