bootstrap第八章:导航

2023-10-27

bootstrap第八章:导航


bootstrap4有几个优点

  • 为链接添加了填充
  • 获得更大的点击区域
  • 可使用禁用样式和active

1.bootstrap导航元素

bootstrap的导航元素应该注意几点

  • 链接的基本容器应该有.nav类。
  • 需要将它与应用在链接上的.nav-link类一起使用
  • 应用在链接容器上的.nav-item类。使用.nav-items可以确保元素按照预期对齐。

1.1创建基本的导航

基本的导航创建如下

<nav class="nav">
  <a href="#" class="nav-item nav-link active">Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>
<nav class="nav nav-tabs">
  <a href="#" class="nav-item nav-link active">Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>
<nav class="nav nav-pills">
  <a href="#" class="nav-item nav-link active">Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>

分别对应三种类型的导航,如下图

image-20221208123731342

1.2导航的对齐

navs默认是左对齐,可以使用下面两类改变对齐方式

  • 类.justify-content-center中间对齐
  • 类.justify-content-end右对齐
<nav class="nav">
  <a href="#" class="nav-item nav-link active">Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>
<nav class="nav justify-content-center">
  <a href="#" class="nav-item nav-link active">Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>
<nav class="nav justify-content-end">
  <a href="#" class="nav-item nav-link active">Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>

输出如图

image-20221208124106622

1.2.1垂直对齐的导航

可以通过类.flex-column改变伸缩项的方向来垂直堆叠你的导航项

    <nav class="nav flex-column"> 
         <a href="#" class="nav-item nav-link active">Home</a> 
         <a href="#" class="nav-item nav-link">About</a> 
         <a href="#" class="nav-item nav-link">Contact</a> 
      </nav> 

输出如图

image-20221208124305368

1.3填充和调整导航组件

可以使用.nav元素上的.navfill类强制你的导航项扩展并按比例填充所有可用的宽度。在下面的示例中,所有水平空间都被导航项占用,但每个导航项的宽度并不相同。

要想让nav填充所有的水平空间,且具有相同宽度,可以使用.nav-justified代替.nav-fill类

<body>
<nav class="nav nav-pills">
  <a href="#" class="nav-item nav-link active">Home  -------------------
    Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>
<br>
<nav class="nav nav-pills nav-fill">
  <a href="#" class="nav-item nav-link active">Home  -------------------
    Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>
<br>
<nav class="nav nav-pills nav-justified">
  <a href="#" class="nav-item nav-link active">Home  -------------------
    Home</a>
  <a href="#" class="nav-item nav-link">About</a>
  <a href="#" class="nav-item nav-link">Contact</a>
</nav>
</nav>

输出如图

image-20221208124618011

1.4下拉式导航

可以在导航中加入下拉式菜单实现下拉式导航

除了.nav, .nav-tabs或.nav-pills类之外,还需要四个CSS类.dropdown, .dropdown-toggle, .dropdown-menu和.dropdown-item来创建一个简单的下拉菜单.

注意代码对应的是bootstrap4…5.3,如果是bootstrap5代码会有所不同

 <nav class="nav nav-tabs"> 
         <a href="#" class="nav-item nav-link active">Home</a> 
         <a href="#" class="nav-item nav-link">About</a> 
         <div class="nav-item dropdown"> 
             <a  class="nav-link dropdown-toggle" data-toggle="dropdown"> 
Contact</a> 
             <div class="dropdown-menu"> 
                 <a href="#" class="dropdown-item">Email</a> 
                 <a href="#" class="dropdown-item">Mobile</a> 
                 <a href="#" class="dropdown-item">Wechat</a> 
             </div> 
         </div> 
      </nav> 
 
      
      <nav class="nav nav-pills"> 
  <!—same as above --> 
      </nav>

要想实现下拉式效果,还除了bootstrap.css需要导入两个包

 <script src="https://code.jquery.com/jquery-3.5.1.min.js"/> 
 <script src="js/bootstrap.bundle.min.js"></script>

输出如图

image-20221208125207290

1.5导航类

class 描述
.fade 增加了显示标签/导航胶囊 内容时的褪色效果
.nav nav-pills 创造一个导航胶囊 菜单
.nav nav-tabs 创造一个标签菜单
.nav-justified 证明标签/导航胶囊链接具有相等的宽度
.tab-content 与.tab-pane一起使用可以创建可切换/动态的选项卡/导航胶囊
.tab-pane

2.bootstrap导航栏

可以使用Bootstrap导航栏组件为您的网站或应用程序创建响应式导航头。这些响应式导航条最初在手机等视口较小的设备上折叠,但当用户单击切换按钮时就会展开。在笔记本电脑或台式机等中型和大型设备上,它将与正常情况一样是水平的。

还可以创建不同的导航栏变体,如带有下拉菜单和搜索框的导航栏,以及定位固定的导航栏。

2.1创建导航栏

使用bootstrap穿件导航栏需要知道以下几点:

  • 用.navbar类创建一个标准导航栏,后面跟着一个响应式折叠类:

    .navbar-expand-xl|lg|md|sm(将导航栏垂直堆叠在超大、大、中或小屏幕上)。

  • 要在导航栏中添加链接,在< ul>元素使用class=“navbar-nav” 。然后添加带有.nav-item类的< li>元素,后面跟着带有.nav-link类的< a>元素,或者直接在< nav>中添加< a>。

    <ul class="navbar-nav">
    <li class="nav-item"><a class="nav-link"></a></li>
    </ul>
    
  • .navbar-brand类用于突出显示页面的品牌/logo/项目名称。也可以通过添加< img>添加公司logo。

  • 使用任意一个.bg-color类来更改导航栏的背景颜色(.bg-primary, .bg-success, .bg-info, .bg-warning, .bg-danger, .bg-secondary, .bgdark和.bg-light)

  • 使用.navbar-dark类为导航栏中的所有链接添加白色文本颜色(导航栏背景为黑色),或使用.navbar-light类添加黑色文本颜色(导航栏背景为白色)。

<nav class="navbar navbar-expand-md navbar-light bg-light"> 
      <a href="#" class="navbar-brand">品牌</a> 
      <button type="button" class="navbar-toggler" data-toggle="collapse" 
 data-target="#navbarCollapse"> 
          <span class="navbar-toggler-icon"></span> 
      </button> 
   
      <div class="collapse navbar-collapse" id="navbarCollapse"> 
          <div class="navbar-nav"> 
              <a href="#" class="nav-item nav-link active">Home</a> 
              <a href="#" class="nav-item nav-link">About</a> 
              <a href="#" class="nav-item nav-link">Contact</a> 
              
          </div> 
          <div class="navbar-nav ml-auto">
                    <a href="#" class="nav-item nav-link">Login</a> 
          </div> 
      </div> 
  </nav>

输出如图

image-20221208185311203

2.2在导航栏中增加下拉式菜单

 
<nav class="navbar navbar-expand-sm bg-dark navbar-dark"> 
   <!-- Brand --> 
   <a class="navbar-brand" href="#">梦想</a> 
  
   <!-- Links --> 
   <ul class="navbar-nav"> 
     <li class="nav-item"> 
       <a class="nav-link" href="#">Home</a> 
     </li> 
     <li class="nav-item"> 
       <a class="nav-link" href="#">About</a> 
     </li> 
  
     <!-- Dropdown --> 
     <li class="nav-item dropdown"> 
       <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-
toggle="dropdown"> 
         Contact 
       </a> 
       <div class="dropdown-menu"> 
         <a class="dropdown-item" href="#">Email</a> 
         <a class="dropdown-item" href="#">Mobile</a> 
         <a class="dropdown-item" href="#">Wechat</a> 
       </div> 
     </li> 
   </ul> 
 </nav>

输出

image-20221208192458923

2.3导航栏添加表单

在< from>中添加类from-inline,将输入和按钮并排分组

<nav class="navbar navbar-expand-sm bg-primary navbar-dark"> 
   <form class="form-inline" action="/index.jsp"> 
     <input class="form-control mr-sm-2" type="text" placeholder="Search"> 
     <button class="btn btn-success" type="submit">Search</button> 
   </form> 
 </nav>

输出为

image-20221208193929192

2.4固定导航栏

导航栏可以固定在页面顶部或者底部。此时独立于页面滚动,即页面滚动时,导航栏仍在页面顶部或底部。可以用两个方法实现这个功能。

  • .fixed-top固定导航栏在页面顶部。
  • .fixed-bottom固定导航栏在页面底部.
<nav class="navbar navbar-expand-md navbar-light bg-light fixed-bottom"> 
… 
  </nav> 
 
<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top"> 
 
… 
  </nav> 

输出结果为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kuAsads2-1670511364131)(C:\Users\南城\AppData\Roaming\Typora\typora-user-images\image-20221208212332877.png)]

2.5导航栏类

class 描述
.active 将白色文本颜色添加到导航栏中的活动链接。
.nav-item 用于在导航栏中设置列表项
.nav-link 用于在导航栏内设置链接/锚
.navbar 创建导航栏
.navbar-brand 添加到导航栏内的链接或标题元素中,以表示徽标题或标题
.navbar-collapse 定义可折叠导航栏,导航栏在小屏幕上隐藏,并由右上角的按钮替换(如下面的例子)
.navbar-dark 为导航栏中的所有链接添加白色文本颜色,此时导航栏背景为黑色
.navbar-expand-* 响应式可折叠类导航栏,屏幕小于在小(sm),中(md),大(lg)或超大(xl)屏幕时,导航栏将垂直堆叠。
.navbar-light 为导航栏中的所有链接添加黑色文本颜色(背景为白色)
.navbar-nav .navbar容器中用于存放导航链接的容器
.navbar-text 垂直对齐导航栏中任何非链接的元素(确保正确的内边距和文本颜色 )
.navbar-toggler 创建折叠类导航栏使用的样式按钮,当导航栏折叠时会在导航栏右边显示该按钮,如下面例子。
.fade 增加了显示标签/导航胶囊 内容时的褪色效果

.narbar-collapse例子

当在小型屏幕上显示时,导航栏不会完全显示,当点击右上角按钮后,导航栏才会完全显示。而在大型屏幕上会完全显示。

image-20221208220834725

image-20221208220718986

3.bootstrap痕迹导航栏

痕迹导航栏用于在网站或应用程序中向用户指示当前页面的位置。可以极大地提高具有大量页面或复杂导航层次结构的网站的可访问性。

可以使用Bootstrap在有序列表上使用.breadcrumb类创建静态痕迹导航布局,

默认痕迹导航栏的分隔符是,可以通过一些自定义的css改变它.如下例所示:修改分隔符为>

<style> 
      .breadcrumb-item + .breadcrumb-item::before { 
         content: ">"; 
     } 
     </style> 
 
<nav> 
      <ol class="breadcrumb"> 
          <li class="breadcrumb-item"><a href="#">Home</a></li> 
          <li class="breadcrumb-item"><a href="#">Courses</a></li> 
          <li class="breadcrumb-item active">Big Data</li> 
      </ol> 
  </nav>

输出

image-20221208225517230

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bootstrap第八章:导航 的相关文章

  • 一行中单独一个元素的选择器? [复制]

    这个问题在这里已经有答案了 我们有带有 2 个子元素的 Flex 容器 当我们调整窗口大小并且其中一个弹性项目换行时 每个元素都位于其自己的行上 有没有像这样的选择器 when alone in row flex parent flex f
  • 使用渐变填充而不是普通颜色创建标记 - Google 地图

    我正在尝试使用 Google 地图获得一个点状标记google maps SymbolPath CIRCLE 我在其中取得了成功 var dotMarkerImage path google maps SymbolPath CIRCLE f
  • 是否可以使用“grid-template-areas”删除网格中空行的高度?

    我有一个包含八张 或更少 卡片的网格 我希望卡片自动放置在网格中 而不知道它们的宽度和高度 也就是说 宽度和高度应该在网格样式中指定 当我展示全部 8 张卡片时效果非常好 例子 grid template areas card 1 card
  • 与 PHP 相比,Python 与 HTML 的“流畅”程度如何?

    我正在考虑从使用 PHP 切换到使用 Python 来开发 Web 应用程序 但我想知道 Python 是否像 PHP 一样擅长在 HTML 中穿插 本质上 我发现它使用起来非常简单 直观将 PHP 放在我想要的位置 然后可以随意安排 组织
  • UIWebView 如何检测 被点击

    我知道下面的方法可以检测链接元素点击 但我想知道是否UIView可以检测是否img元素被点击 BOOL webView UIWebView webView shouldStartLoadWithRequest NSURLRequest re
  • CSS 中的分层图像 - 可以将 2 个图像放在同一个元素中吗?

    假设我在 CSS 中为网页设置背景图像 如下所示 body font size 62 5 Resets 1em to 10px font family Verdana Arial Sans Serif background color 9D
  • 将多个 CSS 文件连接成一个

    将多个 CSS 文件连接成一个 CSS 文件的最佳方法是什么 我想减少以下 进入 简单地做cat css css gt css 1 3
  • 如何默认或通过 CSS 将详细信息元素设置为 OPEN

    HTML5 添加了两个新元素 可用于标记文章的目录 details and summary 详细信息元素默认为关闭状态 隐藏除摘要元素之外的所有内容 单击时 它会展开以显示其内容 当它执行此操作时 它会向详细信息元素添加一个 open 属性
  • 在 PhoneGap 应用程序中打开用 HTML 和 CSS 制作的 PDF

    我的 iPad 应用程序在 Phone Gap 中遇到一个奇怪的问题 问题是我必须通过链接在我的应用程序中打开 PDF 文档 当我单击打开 PDF 的链接时 它会向我显示没有反向链接的 PDF 文档 因此 当我通过链接在应用程序中打开 PD
  • 使用 VSCode 的 EJS 文件缩进错误

    我在 VSCode 上遇到 EJS 文件问题 每次保存文件时 格式化程序都会应用错误的缩进 在每个 EJS 标识符下方 下一行向右移动 缺少正确的垂直对齐 我使用 ejs 的 HTML 格式并安装了 DigitalBrainstem 的 E
  • 为什么内部 DIV 会溢出到外部 DIV 之外?

    我已经远离 HTML 和 CSS 很久了 找不到这个简单问题的解决方案 我有一个 div 位于另一个 div 中 外层黑色 内层橙色 我的 HTML 和 CSS 是 outer position fixed width 30 height
  • 如何使用 Spring Boot 传输音频

    我想让用户能够播放声音 我的实现在 Firefox 上运行良好 在 Safari 上 不播放声音 我验证了音频控制可以在 Safari 中与其他网站一起使用 所以 我认为我必须更改控制器中的某些内容 控制器 RequestMapping v
  • 如何使用 github 托管外部 CSS 文件?

    我将 css 上传到 github 然后转到网站上的文件并单击 raw 选项 我尝试将其添加到网页中 但 chrome 给出以下错误 资源解释为样式表 但使用 MIME 类型 text plain 进行传输 https raw github
  • 如何使用 HTML 和 CSS 在我的网站上显示社交图标?

    我拼命尝试向我的网站添加一些图标 但无法让它们正确显示 我想要的只是一个包含图像并在线显示它们的容器 然后我想在该容器和图像之间添加一些填充 仅此而已 看这里我的方法 如果有人可以帮助我并纠正我的代码 使其真正有效 我会非常高兴 在我的 H
  • 如何将焦点设置在 BootStrap 中的第一个输入字段上? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将焦点设置到独立于 id 的 HTML 表单中的第一个输入元素 https stackoverflow com questions 277544 how to set the focus to t
  • 文件缓存:查询字符串与上次修改时间?

    我正在研究缓存网站资源的方法 并注意到大多数与我类似的网站都使用查询字符串来覆盖缓存 例如 css style css v 124942823 后来 我注意到每当我保存 style css 文件时 最后修改的标头都会 更新 使得查询字符串变
  • 仅使用 HTML 和 CSS 制作弧形帆形状?

    是否可以仅使用 HTML 和 CSS 创建下面的弧形帆形状 我可以看到从这个答案 https stackoverflow com questions 7073484 how does this css triangle shape work
  • 为什么我无法对自定义属性(又名 CSS 变量)进行动画处理?

    看这个动画 金色 div 有一个自定义属性动画的动画 keyframes roll o 1动画 o 这是分步动画的 银色 div 有一个动画 其中normal属性是动画的 keyframes roll o 2动画left 这会持续动画 为什
  • 粘性背景图像/使用 CSS

    我目前正在创建我的第一个网站 并且即将完成 我在标题下为主体使用背景图像 我发现每个页面都有一个问题 因为它们的高度都不同 这使得我背景图像的当前设置放大图片以适合整个页面 我想做的是将背景图像设置为 粘性 我的想法是 背景图像将直接位于标
  • Radiobutton-带有纯 html/css 的按钮

    是否可以创建像这样的单选按钮JQuery http jqueryui com demos button radio那些 用纯html css thanks 试试这个小提琴 http jsfiddle net mcXm7 1 http jsf

随机推荐

  • 【CUDA】第一个CUDA程序-addVector

    本文主要通过对两个浮点数组中的数据进行相加 并将其结果放入第三个数组中 其算法分别在CPU GPU上分别执行 并比较了所需时间 强烈感受到GPU的并行计算能力 这里 每个数组的元素大小为30000000个 一 实现代码 include
  • 模拟信号_模拟信号与模拟电路

    信号 用来携带信息的物理量 电信号 随着时间变化的电压或电流 在数学上 我们可以通过函数来表达这种变化情况 因此我们可以画出波形 电子电路中的信号分类 数字信号和模拟信号 模拟信号的特点 连续性 无论是在时间上还是在数值上 大多数的物理量均
  • Java中常见的异常类型是哪两种?他们有什么区别?

    Java中有两种异常 受检查的异常 checked 和不受检查的异常 unchecked 不受检查的异常不需要在方法或者是构造函数上声明 就算是方法或者是构造函数可能会抛出这样的异常 并且不受检查的异常可以传播到方法或者构造函数的外面 相反
  • 头条面经

    先来波面经 等这段时间秋招有空闲了再来好好总结 首先第一个 手写堆排快排 问题是求前k个大的数 或者第k大的数 第二个 intent的作用 为什么采用intent去连接四大组件 因为在各大组件将要回收的时候 可以将其保留 可以参考hongy
  • vue el-element中el-select选中值,数据已经改变但选择框中不显示值,需要其他输入框输入值才显示这个选择框才会显示刚才选中的值

    项目场景
  • 24 KVM管理虚拟机-配置VNC-TLS登录

    文章目录 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 24 2 操作步骤 24 KVM管理虚拟机 配置VNC TLS登录 24 1 概述 VNC服务端和客户端默认采用明文方式进行数据传输 因此通信内容可能被第三方截获 为
  • 刷脸支付既方便快捷又新颖酷炫

    刷脸支付正是因为市场火热 支付行业的宏观监管日趋严格 新兴的人工智能技术不断被应用到支付场景中 指纹支付 声纹支付到刷脸支付 新技术的蔓延总是能出乎我们的意料 迅速地渗透进生活的方方面面 移动支付未来路在何方 支付行业一直是红海市场 而随着
  • ant design proV1.0的采坑之旅 (动态创建菜单、访问mock数据、富文本编辑器)

    最近公司做一个后台管理系统 犹豫半天还是想用ant design 后来发现他们有现成的脚手架 ant design pro github地址 果断拉代码下来运行起来 一 ant design pro 项目目录结构和流程 整体目录大概长这个样
  • Tensorflow中的图操作和图变量

    一 可能引起的问题 1 图操作重复载入会导致模型变量越来越大 调用saver保存时可能报错 错误信息 Cannot serialize protocol buffer of type tensorflow GraphDef as the s
  • sort按vector元素排序

    include
  • Xshell在使用msh的时候无响应

    在使用Xshell开发正点原子的战舰V3的时候 下载程序或者复位单片机后无响应 在RTT官方文档看到有如下说明 注 正点原子一键下载电路和终端工具冲突 在使用终端工具如 PuTTy XShell 时 会出现系统不能启动的问题 推荐使用串口调
  • 微信微店怎么开店铺步骤【微信开店】

    商家在微信平台主要是通过什么方式进行卖货呢 大家的答案都会是微信小店 小程序微店铺之类的 的确微信店铺是商家在微信平台上重要的卖货渠道 那么微信微店怎么开店铺 下面就给大家分享微信微店怎么开店铺步骤 一 准备好资料 由于微信上通过小程序销售
  • wireshark抓组播数据_wireshark怎么抓包 wireshark抓包详细图文教程

    开始界面 wireshark是捕获机器上的某一块网卡的网络包 当你的机器上有多块网卡的时候 你需要选择一个网卡 点击Caputre gt Interfaces 出现下面对话框 选择正确的网卡 然后点击 Start 按钮 开始抓包 Wires
  • netfilter 理解

    Netfilter概述 Netfilter IPTables是Linux2 4 x之后新一代的Linux防火墙机制 是linux内核的一个子系统 Netfilter采用模块化设计 具有良好的可扩充性 其重要工具模块IPTables从用户态的
  • 线程间同步与互斥:生产者消费者问题

    总结一下线程间同步与互斥生 产者消费者问题 一 互斥锁 mutex 对于多线程的程序 访问冲突的问题是很普遍的 解决的办法是引 入互斥锁 Mutex MutualExclusive Lock 获得锁的线程可以完成 读 修改 写 的操作 然后
  • DataGridView使用bindingNavigator实现分页功能(应用存储过程)

    想法是这样的 使用bindingNavigator 存储过程实现DataGridView的分页功能 其中包含简单的查询 存储过程如下 创建分页查询存储过程 含输出参数 输入参数 含搜索功能 use HotelDB if exists sel
  • 树、二叉树、完全二叉树、满二叉树的概念和性质

    目录 一 树的概念及其结构 1 树的特点 2 树的相关概念 3 树的表示 二 二叉树的概念及其结构 1 二叉树的概念 2 二叉树的特点 三 特殊的二叉树 1 满二叉树 2 完全二叉树 四 二叉树的性质 很重要 常用 两道小例题 五 二叉树的
  • 地表最强一阶段目标检测框架:yolov4之tf2+版本

    原文地址 从第一版的yolov3 GitHub qqwweee keras yolo3 A Keras implementation of YOLOv3 Tensorflow backend 在这位q神翻译出来后 在下一直跟进yolo的发展
  • 三家运营商携手共建国家区块链基础设施BSN

    日前 首届区块链服务网络合作伙伴大会在杭州召开 国家信息中心 中国移动 中国银联和杭州市及下城区等多位高层领导出席 值得注意的是 除了作为发起单位之一的中国移动以外 中国电信 中国联通这两家电信运营商也都派出高级代表参会 中国联通旗下的智慧
  • bootstrap第八章:导航

    bootstrap第八章 导航 文章目录 bootstrap第八章 导航 1 bootstrap导航元素 1 1创建基本的导航 1 2导航的对齐 1 2 1垂直对齐的导航 1 3填充和调整导航组件 1 4下拉式导航 1 5导航类 2 boo