AI 摘要

本文系统梳理 Bootstrap 常用组件:字体图标、下拉与分裂按钮、输入框组、标签页/胶囊/自适应/下拉菜单导航、响应式导航条、分页与翻页、缩略图、媒体对象及列表组。结合 class 语义与示例代码,展示如何快速调用 .glyphicon、.dropdown、.nav、.navbar、.pagination、.thumbnail、.media、.list-group 等预定义样式,实现图标、菜单、表单、内容块与导航的响应式交互,助力高效构建一致且兼容多端的 Web 界面。

字体图标组件

字体图标的使用

Bootstrap 框架提供了 250 多个来自 Glyphicon Halfings 的商业付费字体图标。

字体图标组件的基本用法:

<span class="glyphicon glyphicon-*" style="font-size: 64px;"></span>
<i class="glyphicon glyphicon-*" style="font-size: 64px;"></i>

预定义样式说明:

  • 使用时需要确保导入 Bootstrap 提供的字体图标文件。
  • .glyphicon 预定义类是字体图标组件的公共预定义类。
  • 字体图标的预定义类以 .glyphicon- 开头。
  • 图标类只能应用在不包含任何文本的内联元素上,常使用 span 元素和 i 元素来加载字体图标。

示例:字体图标

入口页面(index.html):

<span class="glyphicon glyphicon-music" style="font-size: 64px;"></span>
<i class="glyphicon glyphicon-heart" style="font-size: 64px;"></i>

示例效果:


下拉菜单组件

基本下拉菜单的使用

使用基本下拉菜单,可以向任何组件(如导航栏等)添加下拉菜单。

基本下拉菜单的基本用法:

<div class="dropdown open">
    <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
        请选择 <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li class="active"><a href="#">菜单项</a></li>
        ……
        <li class="divider"></li>
        ……
    </ul>
</div>

预定义样式说明:

  • .dropdown 预定义类用于定义下拉菜单,让菜单向下弹出。
  • .dropup 预定义类,可以让菜单向上弹出。
  • .open 预定义类用于控制基本下拉菜单的收缩展开。
  • .dropdown-toggle 预定义类用于设置下拉菜单触发器。
  • data-toggle 属性用于为按钮添加下拉菜单的特效。
  • .caret 预定义类用于设置向下小三角。
  • .dropdown-menu 预定义类用于设置下拉菜单的菜单列表。
  • .active 预定义类默认选中下拉菜单项。
  • .divider 预定义类用于设置菜单项的分割线。

示例:基本下拉菜单

入口页面(index.html):

<div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
        请选择商品 <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li class="active"><a href="#">咖啡</a></li>
        <li><a href="#">雪碧</a></li>
        <li><a href="#">可乐</a></li>
        <li class="divider"></li>
        <li><a href="#">苹果</a></li>
        <li><a href="#">西瓜</a></li>
        <li><a href="#">橘子</a></li>
    </ul>
</div>

示例效果:


分裂式按钮下拉菜单的使用

分裂式按钮下拉菜单的好处是可以实现按钮和下拉菜单分离。

分裂式按钮下拉菜单的基本用法:

<div class="btn-group">
    <button type="button" class="btn btn-success">按钮</button>
    <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li><a href="#">菜单项</a></li>
    ...
    </ul>
</div>

预定义样式说明:

  • .btn-group 预定义类用于定义多个按钮的按钮组。
  • 为下拉菜单触发器按钮设置基本下拉菜单的相关预定义类和属性。

示例:分裂式按钮下拉菜单

入口页面(index.html):

<div class="btn-group">
    <button type="button" class="btn btn-success">个人中心</button>
    <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li><a href="#">账号设置</a></li>
        <li><a href="#">地址管理</a></li>
        <li><a href="#">意见反馈</a></li>
        <li><a href="#">退出</a></li>
    </ul>
</div>

示例效果:


输入框组组件

输入框组的使用

输入框组件可以在文本输入框前面、后面或是两边加上文字或按钮,实现对表单控件的扩展。

输入框组的基本用法:

<div class="input-group">
    <span class="input-group-addon">文本</span>
    <input type="text" class="form-control">
    <span class="input-group-btn">
        <button class="btn btn-default">按钮</button>
    </span>
</div>

预定义样式说明:

  • .input-group 预定义类用于定义输入框组。
  • 在 .input-group 内添加 .input-group-addon,就可以在 .form-control 前面或后面添加额外的文本。
  • 在 .input-group 内添加 .input-group-btn,就可以在 .form-control 前面或后面添加额外的按钮。

示例:输入框组

入口页面(index.html):

<div class="input-group">
    <span class="input-group-addon">在线搜索</span>
    <input type="text" class="form-control" placeholder="请输入要搜索的内容">
    <span class="input-group-btn">
        <button class="btn btn-default">搜索一下</button>
    </span>
</div>

示例效果:


导航/标签页组件

选项卡导航的使用

使用选项卡导航组件,可以在页面中创建选项卡。

选项卡导航的基本用法:

<ul class="nav nav-tabs">
    <li class="active"><a href="#">导航菜单</a></li>
    ...
</ul>

预定义样式说明:

  • .nav 预定义类是导航组件的公共预定义类。
  • .nav-tabs 预定义类用于定义选项卡导航。
  • .active 预定义类用于默认选中选项卡。

示例:选项卡导航

入口页面(index.html):

<ul class="nav nav-tabs">
    <li class="active"><a href="#">个人中心</a></li>
    <li><a href="#">商品详情</a></li>
    <li><a href="#">我的订单</a></li>
    <li><a href="#">联系客服</a></li>
</ul>

示例效果:


胶囊式导航的使用

使用胶囊式导航组件,可以在页面中创建胶囊样式的选项卡。

胶囊式导航的基本用法:

<ul class="nav nav-pills">
    <li class="active"><a href="#">导航菜单</a></li>
    ...
</ul>

预定义样式的使用:

  • .nav-pills 预定义类用于定义胶囊式导航。
  • .active 预定义类用于默认选中胶囊。

示例:胶囊式导航

入口页面(index.html):

<ul class="nav nav-pills">
    <li class="active"><a href="#">导航菜单</a></li>
    ...
</ul>

示例效果:


自适应导航的使用

在大于 768px 的屏幕上,自适应导航组件可以让选项卡或胶囊式导航呈现出同等宽度,在小屏幕上,导航呈现堆叠样式。

自适应导航的基本用法:

<ul class="nav nav-tabs nav-justified">
    <li class="active"><a href="#">导航菜单</a></li>
    ...
</ul>

预定义样式说明:

  • .nav-justified 预定义类用于让选项卡或胶囊式导航呈现出同等宽度,在小屏幕上呈现堆叠样式。
  • 自适应导航使用时,需要基于 .nav-tabs 或 .nav-pills 样式。

示例:自适应导航

入口页面(index.html):

<ul class="nav nav-tabs nav-justified">
    <li class="active"><a href="#">首页</a></li>
    <li><a href="#">购物车</a></li>
    <li><a href="#">我的订单</a></li>
    <li><a href="#">联系客服</a></li>
</ul>
<ul class="nav nav-pills nav-justified">
    <li class="active"><a href="#">首页</a></li>
    <li><a href="#">购物车</a></li>
    <li><a href="#">我的订单</a></li>
    <li><a href="#">联系客服</a></li>
</ul>

示例效果:


下拉菜单导航的使用

使用下拉菜单导航组件,可以在导航组件中添加下拉菜单。

下拉菜单导航的基本用法:

<ul class="nav nav-pills">
    <li class="active"><a href="#">导航菜单</a></li>
    ……
    <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            导航菜单 <span class="caret"></span>
        </a>
        <ul class="dropdown-menu">
            <li><a href="#">下拉菜单</a></li>
            ……
        </ul>
    </li>
</ul>

预定义样式说明:

  • 导航组件将 li 元素作为下拉菜单的父容器,添加 .dropdown 预定义类。
  • 在 .dropdown 内部包含一个 .dropdown-menu 预定义类的下拉菜单项。

示例:下拉菜单导航

入口页面(index.html):

<ul class="nav nav-pills">
    <li class="active"><a href="#">首页</a></li>
    <li><a href="#">购物车</a></li>
    <li><a href="#">我的订单</a></li>
    <li><a href="#">联系客服</a></li>
    <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            个人中心<span class="caret"></span>
        </a>
        <ul class="dropdown-menu">
            <li><a href="#">地址管理</a></li>
            <li><a href="#">账号设置</a></li>
            <li><a href="#">地址管理</a></li>
            <li><a href="#">意见反馈</a></li>
            <li><a href="#">退出</a></li>
        </ul>
    </li>
</ul>

示例效果:


导航条组件

导航条组件的使用

使用导航条组件,可以在在页面中创建导航条。

导航条组件的基本用法:

<nav class="navbar navbar-default">
    <div class="navbar-header">
        <a href="#" class="navbar-brand"><img src="logo.png"></a>
    </div>
    <ul class="nav navbar-nav">
        <li class="active"><a href="#">导航条菜单</a></li>
        ……
    </ul>
</nav>

预定义样式说明:

  • .navbar 预定义类是导航条组件的公共预定义类。
  • .navbar-default 预定义类用于设置默认样式的导航条组件。
  • .navbar-inverse 预定义类用于设置反色的导航条。
  • .navbar-header 预定义类用于设置导航条的头部,结合 .navbar-brand 预定义类可以展示品牌图标。
  • .nav、.navbar-nav 预定义类是导航条组件中导航选项列表的公共预定义类。
  • .active 预定义类用于默认选中导航选项。

示例:导航条组件

入口页面(index.html):

<nav class="navbar navbar-default">
    <div class="navbar-header">
        <a href="#" class="navbar-brand"><img src="demo.png" style="width: 25px;"></a>
    </div>
    <ul class="nav navbar-nav">
        <li class="active"><a href="#">秒杀</a></li>
        <li><a href="#">抢购</a></li>
        <li><a href="#">团购</a></li>
        <li><a href="#">其他</a></li>
    </ul>
</nav>

示例效果:


导航条组件放置表单

在导航条组件中,可以放置表单。

导航条组件放置表单的基本用法:

<nav class="navbar navbar-default">
    ……
    <form class="navbar-form navbar-right">
        <div class="form-group">
            <input type="text" class="form-control">
        </div>
        <button type="submit" class="btn btn-primary">按钮</button>
    </form>
</nav>

预定义样式说明:

  • 在 .navbar 的容器内放置表单元素,并在表单元素上添加 .navbar-form 预定义类。
  • .navbar-left、.navbar-right 预定义类用于控制表单元素在左侧或右侧。

示例:放置表单

入口页面(index.html):

<nav class="navbar navbar-default">
    <div class="navbar-header">
        <a href="#" class="navbar-brand"><img src="demo.png" style="width: 25px;"></a>
    </div>
    <ul class="nav navbar-nav">
        <li class="active"><a href="#">秒杀</a></li>
        <li><a href="#">抢购</a></li>
        <li><a href="#">团购</a></li>
        <li><a href="#">其他</a></li>
    </ul>
    <form class="navbar-form navbar-right">
        <div class="form-group">
            <input type="text" class="form-control" placeholder="请输入搜索内容">
        </div>
        <button type="submit" class="btn btn-primary">搜索</button>
    </form>
</nav>

示例效果:


导航条组件放置按钮、文本和链接

在导航条组件中,可以放置按钮、文本和链接。

导航条组件放置按钮、文本和链接的基本用法:

<nav class="navbar navbar-default">
    ...
    <div class="nav navbar-nav">
        <button class="btn btn-danger navbar-btn">按钮</button>
        <p class="navbar-text">文本</p>
        <a href="#" class="navbar-link navbar-text">超链接</a>
    </div>
</nav>

预定义样式说明:

  • .navbat-btn 预定义类用于在导航条组件中放置按钮。
  • .navbar-text 预定义类用于在导航条组件中放置文本。
  • .navbar-link 预定义类用于在导航条组件中放置链接。

示例:放置按钮、文本和链接

入口页面(index.html):

<nav class="navbar navbar-default">
    <div class="nav navbar-nav">
        <button class="btn btn-success navbar-btn">登录</button>
        <button class="btn btn-danger navbar-btn">登录</button>
        <p class="navbar-text">文本</p>
        <p class="navbar-text">Hello</p>
        <a href="#" class="navbar-link navbar-text">去搜索</a>
        <a href="#" class="navbar-link navbar-text">去查询</a>
    </div>
</nav>

示例效果:


导航条组件固定在页面顶部或底部

在导航条组件中,可以将导航条固定在页面顶部或或底部。

导航条组件固定在页面顶部或底部的基本用法:

<nav class="navbar navbar-default navbar-fixed-top">
    ...
</nav>

预定义样式说明:

  • .navbar-fixed-top 预定义类用于将导航条组件固定在页面顶部。
  • .navbar-fixed-bottom 预定义类用于将导航条组件固定在页面底部。
  • 无论是将导航条组件固定在顶部还是固定在底部,都要注意相关元素的内边距。

示例:固定在页面顶部或底部

入口页面(index.html):

<nav class="navbar navbar-default navbar-fixed-top">
    <div class="nav navbar-nav">
        <button class="btn btn-success navbar-btn">登录</button>
        <button class="btn btn-danger navbar-btn">登录</button>
        <p class="navbar-text">文本</p>
        <p class="navbar-text">Hello</p>
        <a href="#" class="navbar-link navbar-text">去搜索</a>
        <a href="#" class="navbar-link navbar-text">去查询</a>
    </div>
</nav>

<p>文本</p>
<!-- ... -->

示例效果:


响应式导航条的使用

响应式导航条组件在屏幕小于 768px 时,所有菜单项默认隐藏,单击右边的 icon 图标,所有的导航菜单项显示出来。

响应式导航条的基本用法:

<nav class="nav navbar-default">
    <div class="navbar-header">
        <button class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" >
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a href="#" class="navbar-brand"><img src="logo.png"></a>
    </div>
    <div class="collapse navbar-collapse">
        <ul class="nav navbar-nav">
            ...
        </ul>
    </div>
</nav>

预定义样式说明:

  • .navbar-toggle 预定义类用于设置导航条组件的折叠按钮。
  • data-toggle 属性用于为折叠按钮添加折叠菜单的动画效果。
  • data-target 属性指定折叠按钮点击后弹出某一个折叠菜单。
  • .icon-bar 预定义类用于设置折叠按钮图标。
  • .collapse、.nav-collapse 预定义类用于设置折叠菜单列表。

示例:响应式导航条

入口页面(index.html):

<nav class="nav navbar-default">
    <div class="navbar-header">
        <button  class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" >
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a href="#" class="navbar-brand"><img src="demo.png" style="width: 25px;"></a>
    </div>
    <div class="collapse navbar-collapse">
        <ul class="nav navbar-nav">
            <li class="active"><a href="#">秒杀</a></li>
            <li><a href="#">抢购</a></li>
            <li><a href="#">团购</a></li>
            <li><a href="#">其他</a></li>
        </ul>
    </div>
</nav>

示例效果:


分页/翻页组件

分页组件的使用

使用分页组件,可以在页面中创建上下页按钮、彩虹页码按钮。

分页组件的基本用法:

<nav aria-label="Page navigation">
    <ul class="pagination">
        <li class="disabled">
            <a href="#" aria-label="Previous">
                <span aria-hidden="true">&laquo;</span>
            </a>
        </li>
        <li class="active"><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li>
            <a href="#" aria-label="Next">
                <span aria-hidden="true">&raquo;</span>
            </a>
        </li>
    </ul>
</nav>

预定义样式说明:

  • aria-label 属性用于给标签写说明文本。
  • aria-hidden 属性用于设置标签在辅助技术(如阅读模式)下是否隐藏。
  • .pagination 预定义类用于定义分页按钮的列表。
  • .disabled 预定义类用于禁用分页按钮。
  • .active 预定义类用于默认选中分页按钮。

示例:分页组件

入口页面(index.html):

<nav aria-label="Page navigation">
    <ul class="pagination">
        <li>
            <a href="#" aria-label="Previous">
                <span aria-hidden="true">上一页</span>
            </a>
        </li>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li>
            <a href="#" aria-label="Next">
                <span aria-hidden="true">下一页</span>
            </a>
        </li>
    </ul>
</nav>

示例效果:


翻页组件的使用

使用翻页组件,可以在页面中创建上下页按钮。

翻页组件的基本用法:

<nav aria-label="page navigation">
    <ul class="pager">
        <li class="previous"><a href="#">上一页</a></li>
        <li class="next"><a href="#">下一页</a></li>
    </ul>
</nav>

预定义样式说明:

  • .pager 预定义类用于定义翻页按钮的列表。
  • .previous、.next 预定义类用于使两个翻页按钮两端对齐。

示例:翻页组件

入口页面(index.html):

<nav aria-label="page navigation">
    <ul class="pager">
        <li class="previous"><a href="#">上一页</a></li>
        <li class="next"><a href="#">下一页</a></li>
    </ul>
</nav>

示例效果:


缩略图组件

缩略图组件的使用

缩略图组件用于展示栅格样式的图像、视频、文本等内容。

缩略图组件的基本用法:

<div class="thumbnail" href="#">
    <img src="images/1.jpg" alt=""/>
    <div class="caption">
        <h3>标题</h3>
        <p>文本</p>
        <p><a href="#" class="btn btn-primary">按钮</a></p>
    </div>
</div>

预定义样式说明:

  • .thumbnail 预定义类用于定义缩略图。
  • .caption 预定义类用于定义缩略图下面的描述文本。

示例:缩略图组件

入口页面(index.html):

<div class="col-md-3">
    <div class="thumbnail">
        <img src="demo.png" alt=""/>
        <div class="caption">
            <h3>春天来了</h3>
            <p>春天来临,小河…</p>
            <p><a href="#" class="btn btn-primary" role="button">查看详情</a></p>
        </div>
    </div>
</div>

示例效果:


媒体对象组件

媒体对象组件的使用

媒体对象组件允许在一个内容块的左边或右边展示一个多媒体内容,如图像、视频、音频等。

媒体对象组件的基本用法:

<div class="media">
    <div class="media-left">
        <img class="media-object" src="images/1.jpg" alt="">
    </div>
    <div class="media-body">
        <h4 class="media-heading">标题</h4>
        <p>内容</p>
    </div>
    <div class="media-right">
        <img class="media-object" src="images/1.jpg" alt="">
    </div>
</div>

预定义样式说明:

  • .media 预定义类用于定义媒体对象。
  • .media-left/.media-right 预定义类用于定义媒体对象左侧/右侧的内容。
  • .media-object 预定义类用于定义媒体对象,如图片、视频等。
  • .media-body 预定义类用于定义媒体对象的文本内容。
  • .media-heading 预定义类用于定义媒体对象文本内容的标题。

示例:媒体对象组件

入口页面(index.html):

<div class="col-md-4">
    <div class="media">
        <div class="media-left">
            <img class="media-object" src="demo.png" style="width: 100px">
        </div>
        <div class="media-body">
            <h4 class="media-heading">这是我的头像</h4>
            <p>我的头像真好看</p>
        </div>
    </div>
</div>

示例效果:


列表组组件

列表组组件的使用

列表组组件是一个带有多个列表条目的无序列表。

列表组组件的基本用法:

<ul class="list-group">
    <li class="list-group-item">列表项 <span class="badge">小标签</span></li>
    ……
</ul>
  • .list-group 预定义类用于定义列表组。
  • .list-group-item 预定义类用于定义列表项。
  • .badge 预定义类用于为列表项添加徽章。

示例:列表组组件

入口页面(index.html):

<div class="col-md-4">
    <ul class="list-group">
        <li class="list-group-item">列表项1 <span class="badge">777</span></li>
        <li class="list-group-item">列表项2 <span class="badge">888</span></li>
        <li class="list-group-item">列表项3 <span class="badge">999</span></li>
        <li class="list-group-item">列表项4 <span class="badge">000</span></li>
    </ul>
</div>

示例效果: