文档章节

bootstrap响应式导航栏

reid3290
 reid3290
发布于 2015/01/28 11:42
字数 652
阅读 8722
收藏 3

参见:http://www.w3cschool.cc/bootstrap/bootstrap-navbar.html

为了给导航栏添加响应式特性,您要折叠的内容必须包裹在带有 classes .collapse、.navbar-collapse 的 <div> 中。折叠起来的导航栏实际上是一个带有 class .navbar-toggle 及两个 data- 元素的按钮。第一个是 data-toggle,用于告诉 JavaScript 需要对按钮做什么,第二个是 data-target,指示要切换到哪一个元素。三个带有 class .icon-bar 的 <span> 创建所谓的汉堡按钮。这些会切换为.nav-collapse <div> 中的元素。为了实现以上这些功能,您必须包含 Bootstrap 折叠(Collapse)插件

<!DOCTYPE html>
<html>
<head>
   <title>Bootstrap 实例 - 响应式的导航栏</title>
   <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
   <script src="/scripts/jquery.min.js"></script>
   <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>

<nav class="navbar navbar-default" role="navigation">
   <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" 
         data-target="#example-navbar-collapse">
         <span class="sr-only">切换导航</span>
         <span class="icon-bar"></span>
         <span class="icon-bar"></span>
         <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">W3Cschool</a>
   </div>
   <div class="collapse navbar-collapse" id="example-navbar-collapse">
      <ul class="nav navbar-nav">
         <li class="active"><a href="#">iOS</a></li>
         <li><a href="#">SVN</a></li>
         <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
               Java <b class="caret"></b>
            </a>
            <ul class="dropdown-menu">
               <li><a href="#">jmeter</a></li>
               <li><a href="#">EJB</a></li>
               <li><a href="#">Jasper Report</a></li>
               <li class="divider"></li>
               <li><a href="#">分离的链接</a></li>
               <li class="divider"></li>
               <li><a href="#">另一个分离的链接</a></li>
            </ul>
         </li>
      </ul>
   </div>
</nav>


</body>
</html>

重点分析其与默认导航栏的不同之处:

1、在

<div class="navbar-header">

中添加了一个按钮:

<button type="button" class="navbar-toggle" data-toggle="collapse" 
         data-target="#example-navbar-collapse">
         <span class="sr-only">切换导航</span>
         <span class="icon-bar"></span>
         <span class="icon-bar"></span>
         <span class="icon-bar"></span>
      </button>

如上所述,data-toggle用于告诉 JavaScript 需要对按钮做什么, data-target指示要切换到哪一个元素。三个带有 class .icon-bar 的 <span> 创建所谓的汉堡按钮。

.navbar-toggle {

  position: relative;

  float: right;

  padding: 9px 10px;

  margin-top: 8px;

  margin-right: 15px;

  margin-bottom: 8px;

  background-color: transparent;

  background-image: none;

  border: 1px solid transparent;

  border-radius: 4px;

}

.navbar-toggle:focus {

  outline: 0;

}

.navbar-toggle .icon-bar {

  display: block;

  width: 22px;

  height: 2px;

  border-radius: 1px;

}

.navbar-toggle .icon-bar + .icon-bar {

  margin-top: 4px;

}

@media (min-width: 768px) {

  .navbar-toggle {

    display: none;

  }

}

.sr-only {

  position: absolute;

  width: 1px;

  height: 1px;

  padding: 0;

  margin: -1px;

  overflow: hidden;

  clip: rect(0, 0, 0, 0);

  border: 0;

}

.sr-only-focusable:active,

.sr-only-focusable:focus {

  position: static;

  width: auto;

  height: auto;

  margin: 0;

  overflow: visible;

  clip: auto;

}

.navbar-toggle .icon-bar {

  display: block;

  width: 22px;

  height: 2px;

  border-radius: 1px;

}

.navbar-toggle .icon-bar + .icon-bar {

  margin-top: 4px;

}

.navbar-default .navbar-toggle .icon-bar {

  background-color: #888;

}

.navbar-inverse .navbar-toggle .icon-bar {

  background-color: #fff;

}

2、项目列表被包裹在了一个另外增加的<div>中

<div class="collapse navbar-collapse" id="example-navbar-collapse">

.collapse {

  display: none;

}

.navbar-collapse {

  padding-right: 15px;

  padding-left: 15px;

  overflow-x: visible;

  -webkit-overflow-scrolling: touch;

  border-top: 1px solid transparent;

  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);

          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);

}

@media (min-width: 768px) {

  .navbar-collapse {

    width: auto;

    border-top: 0;

    -webkit-box-shadow: none;

            box-shadow: none;

  }

  .navbar-collapse.collapse {

    display: block !important;

    height: auto !important;

    padding-bottom: 0;

    overflow: visible !important;

  }

@media (max-width: 480px) and (orientation: landscape) {

  .navbar-fixed-top .navbar-collapse,

  .navbar-fixed-bottom .navbar-collapse {

    max-height: 200px;

  }

}



© 著作权归作者所有

reid3290
粉丝 2
博文 64
码字总数 15933
作品 0
闵行
程序员
私信 提问
Bootstrap响应式前端框架笔记十——导航栏相关组件

Bootstrap响应式前端框架笔记十——导航栏相关组件 Bootstrap中提供的导航栏分为两种模式,使用nav-tabs类可以创建页卡模式的导航栏,使用nav-pills类可以创建胶囊模式的导航栏,示例如下: ...

珲少
2016/12/12
180
0
Bootstrap响应式导航栏

一.创建一个导航栏的步骤 1.<nav></nav>标签添加 .navbar .navbar-default 2.像<nav>内部添加一个标题<div> 带有class .navbar-header,内部包含带有 class navbar-brand的<a>元素--让文本看......

奋斗的小芋头
2016/11/17
96
0
Bootstrap 导航栏

导航栏是一个很好的功能,是 Bootstrap 网站的一个突出特点。导航栏是响应式元组件就,作为应用程序或网站的导航标题。导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也...

wybo521
2016/01/27
84
0
2018-05-22 仿简书的响应式导航栏

如果你对响应式还一窍不通,请参考2018-05-21 响应式设计,开始你的响应式设计之旅。 1.查看简书的响应式 使用Chorme浏览器打开https://www.jianshu.com,然后F12(Fn+F12),查看网页样式 1....

瑾瑜爱上猫
2018/05/21
0
0
Bootstrap 响应式项目分享一

网页链接地址:http://chem960.vicp.cc:9128 该页面中主要用到的有 1. 全局 CSS 样式 -- 栅格系统 2. 全局 CSS 样式 -- 按钮 3. 全局 CSS 样式 -- 辅助类 4. 组件 -- 按钮式下拉菜单 5. 组件...

Neuro_annie
2017/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ERC-777以太坊新代币标准解读

ERC777是一个新的高级代币标准,可以视为ERC20的升级版本,因此它解决了ERC20以及ERC223存在的一些问题,开发者可以根据自己的具体需求进行选型。 1、使用ERC820进行合约注册 有别于ERC20的自...

汇智网教程
今天
6
0
代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
14
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部