Bootstrap学习记录-1.Navigation
Bootstrap中的导航栏功能需要添加bootstrap.css
、jquery.js
、bootstrap.js
,其中,jquery.js
文件是bootstrap.js
文件中必须的,否则就会抛出异常信息:Bootstrap\'s JavaScript requires jQuery
。
1. 工作原理
学习Navbar
之前,学习知道以下知识点:
nav
标签必须使用.navbar
、.navbar-expand{-sm|-md|-lg|-xl}
、颜色主题类
进行装饰。- 导航栏内容默认是流动布局,可以使用
containers
选项来限制水平宽度。 - 使用
spacing
和flex
类来控制导航栏项目的间隔和排列。 - 导航栏默认是响应式的,但很容易调整为其他模式。响应式导航栏必须依赖
Collapse
插件。 - 打印时,导航栏默认是隐藏的。在导航栏中添加
.d-print
类可以强制打印。 - 务必使用
nav
元素,或者,如果使用的是通用的<div>
元素的话,务必为导航条设置role="navigation"
属性,这样能够让使用辅助设备的用户明确知道这是导航区域。
2. 内容支持
导航栏支持一些内置子组件,可以根据实际选择以下内容:
.nvabar-brand
用来显示公司名称、产品名称或项目名称等。.navbar-nav
指定一个全高度轻量化的导航条,并支持下拉菜单。此处的全高度应该就是来说明支持下来菜单.navbar-toggler
使用响应式插件支持响应式行为。.form-inline
支持表单控件和行为。.navbar-text
用来添加垂直居中的文本信息.collapse.navbar-collapse
for grouping and hiding navbar contents by a parent breakpoint.
3. Brand
大多数HTML标签都可以应用.navbar-brand
,但是需要使用更多的类标签来定义样式。
<nav class="navbar navbar-light bg-light">
<!-- As a link -->
<a class="navbar-brand" href="#">NavBarBrand</a>
<!-- As a heading -->
<!-- mb-1 可以参考Bootstrap Spacing -->
<span class="navbar-brand ml-5 h1"></span>
</nav>
向.navbar-brand
中添加图片时,通常需要设置更多的样式或属性。
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
<!--指定宽度、高度、无法显示时的替换文本 -->
<img src="XXXX" width="30" height="30" alt="">
</a>
</nav>
4. 导航项
导航栏链接使用自带的标识符来定义,且使用toggler
来标识响应式行为。导航栏中的项目尽可能维持水平间隔以保持一致性。
<!--navbar-expand-lg指定响应式行为, navbar-light bg-light定义导航栏样式 -->
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<!-- 执行导航栏的显示商标信息 -->
<a class="navbar-brand" href="#">NavBar</a>
<!-- 指定导航栏的响应式行为 -->
<!-- `data-toggle`指以什么事件触发,`data-target`指触发事件的目标标签。一起使用时表示`data-target`所指的元素以`data-toggle`指定的形式显示。 -->
<!-- `aria-*`的一系列属性都是为了应用在辅助设备上使用。 -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<!-- 指定按钮的显示图标 -->
<span class="navbar-toggler-icon"></span>
</button>
<!-- 导航栏内容,collapse表示隐藏内容 -->
<div class="navbar-collapse collapse " id="navbarNav">
<ul class="navbar-nav">
<!-- 每一个导航项目,active表示显示当前导航链接 -->
<li class="nav-item active">
<!-- sr-only表示除屏幕阅读器外,其他设备隐藏该元素 -->
<a class="nav-link" href="#">Home<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<!-- disabled类指定该导航无法操作 -->
<a class="nav-link disabled" href="#">Disabled</a>
</li>
<!-- 指定导航项目为下拉列表形式 -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown link
</a>
<!-- 下拉列表及其项目-->
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another Action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
</div>
</nav>
5. 表单
<nav class="navbar navbar-expand-lg navbar-light bg-light ">
<form class="form-inline">
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
<!-- 支持Input Group -->
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">@</span>
</div>
<input type="text" class="form-control" placeholder="UserName" aria-label="Username" aria-describedby="basic-addon1">
</div>
</form>
</nav>
6. 文本
<nav class="navbar navbar-expand-lg navbar-light bg-light ">
<span class="navbar-text">
Navbar Text
</span>
</nav>
7. 颜色主题
导航栏的颜色需要使用navbar-{light|dark}
和bg-*
配合使用,其中navbar-light
适合使用浅背景色,navbar-dark
适合使用深背景色,然后再使用bg-*
来设置背景色,或者使用使用style="background-color:#e3f2fd
来设置背景色。
8. 定位
- fixed-top:固定在页面顶部
- fixed-bottom:固定在页面底部
- sticky-top:页面滚动显示,始终在顶部。
9. 响应式行为
使用navbar-toggler
、navbar-collapse
、navbar-expand{-sm|md|lg|xl}
等类设置导航链接的折叠与显示。
若导航栏始终不需要折叠,则在nav
中添加navbar-expand
类标签,若需要导航栏始终折叠,不要添加
任何navbar-expand
类标签,
navbar-brand
定义了导航栏的品牌信息,其后跟着一个button
,采用navbar-toggler
装饰,它表示导航栏在折叠式,该按钮会显示出来。其中,navbar-expand
装饰的元素A的位置和navbar-toggler
装饰的元素B的位置是根据该元素在代码中的位置定义的,比如,A在B的上面定义,则A在左边,B在右边,A在B的下面定义,则A在右边,B在左边。
原文链接:Bootstrap V4.0 导航栏介绍
Bootstrap学习记录-1.Navigation的更多相关文章
- bootstrap学习记录(慕课网教程)
1.当主标题下需要副标题时可在h中嵌套small<h1>nihao<small>a</samll></h1> 2.当某一段落需要突出显示时可添加lead ...
- 积跬步,聚小流------Bootstrap学习记录(2)
现阶段开启每一次新的征程,已然离不开"Hello World"的习惯仪式.这次自然也不例外.先来看下给出的官网给出的演示样例: 1.bootstrap官网提供的html基本模板代码 ...
- Bootstrap学习记录-3.Badge、Breadcrumb、Buttons、 Button Group、Card、Carousel
1. Badge Badge作为数值标记组件,它能作为链接或按钮的一部分来提供计数作用,而且它通过使用相对字体大小来适应父级元素的大小.它的最基本的修饰符为.badge .badge-*. <b ...
- Bootstrap学习记录-2.container和table
1. Container Bootstrap中容器类提供了2个类标识:container.container-fluid. 两者的区别在于: container:容器不止有15px的padding,还 ...
- Bootstrap学习记录
中文官网 Bootstrap 插件 Bootstrap Multiselect bootstrap-multiselect 的简单使用,样式修改,动态创建option JS组件系列——Bootstra ...
- 积跬步,聚小流------Bootstrap学习记录(3)
响应式作为Bootstrap的一大特色.栅格系统可谓是功不可没,既然如此,那我们就来看一下栅格系统是怎样帮助bootstrap实现响应式布局的呢? 1.什么是栅格系统 我们能够从Bootstrap的官 ...
- 积跬步,聚小流------Bootstrap学习记录(1)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- Bootstrap 我的学习记录3 导航条理解
以下理论内容copy自Bootstrap中文网 (一个不错的bootstrap学习网站) 导航条 默认样式的导航条 导航条是在您的应用或网站中作为导航页头的响应式基础组件.它们在移动设备上可以折叠(并 ...
- Bootstrap 我的学习记录2 栅格系统初识
以下理论内容copy自bootstrap中文网(一个不错的bootstrap学习网站). 栅格系统 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport) ...
随机推荐
- freeRTOSConfig.h文件对FreeRTOS进行系统配置
FreeRTOS内核是高度可定制的,使用配置文件FreeRTOSConfig.h进行定制.每个FreeRTOS应用都必须包含这个头文件,用户根据实际应用来裁剪定制FreeRTOS内核.这个配置文件是针 ...
- Pycharm2018的激活方法或破解方法
1.授权服务器激活 优点:方便快捷 缺点:激活的人数多了就容易被封杀,所以可能经常需要去激活 选择License server激活,然后填入: idea.qmanga.com或http://xidea ...
- [au3]批量输入号码程序
批量输入号码程序 这个文件可以随时产生一个剪贴板文字的文本文件,以供其他程序读取. 这个程序修改了许多次了,主要是针对网络延迟的问题. 最终找到了解决方案:探测输入的界面的反馈信息,也就是反馈的颜色. ...
- CSS---伪类选择器
伪类选择器的作用: 控制标签在不同状态下的样式. 标签的四种状态: link:没有访问过的状态: hover:鼠标经过的状态: active:鼠标激活(按下但没有松开)的状态: visited:已经被 ...
- uniGUI日志的控制
uniGUI日志的控制 (2015-10-12 08:30:29) 转载▼ 标签: unigui 分类: uniGUI uniGUI本身提供了日志功能,利用uniServerModule.Server ...
- open:在终端打开文件|应用程序等
1. 需求&解决方案 打开文件 或url(用默认应用程序): $ open fileName 打开文件 或url(用指定应用程序): $ open -a appName fileName ## ...
- ReactNative学习笔记(三)打包、调试、运行等相关介绍
各种命令 个人习惯在项目根目录下把一些常见命令写成bat文件,以后每次要执行什么只需要双击即可: 编译.生成.运行并启动packager(debug模式): react-native run-andr ...
- Media Queries 媒体查询常见设备断点
按需调整断点 一.谷歌后摘抄的一部分媒体查询 /*#region SmartPhones */ /* SmartPhones */@media only screen and (min-device- ...
- SpringBean作用域
1.Bean作用域 spring中为bean定义了5种作用域,分别为singleton(单例).prototype(原型).request.session和global session.默认情况下为s ...
- 一篇入门 -- Scala
整体介绍 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性. 联邦理工学院洛桑(EPFL)的Martin Odersky于2001 ...