Bootstrap(基础二)

第5章 菜单、按钮及导航

一、下拉菜单

小伙伴们注意,在Bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,它对应的文件:
☑ LESS版本:对应的源码文件为 dropdowns.less
☑ Sass版本:对应的源码文件为 _dropdowns.scss
☑ 编译后的Bootstrap版本:查看bootstrap.css文件第3004行~第3130行

在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件。当然,如果你使用的是未编译版本,在js文件夹下你能找到一个名为“dropdown.js”的文件。你也可以调用这个js文件。

特别声明:因为Bootstrap的组件交互效果都是依赖于jQuery库写的插件,所以在使用bootstrap.min.js之前一定要先加载jquery.min.js才会生效果。

使用方法:
在使用Bootstrap框架中的下拉菜单组件时,其结构运用的正确与否非常的重要,如果结构和类名未使用正确,直接影响组件是否能正常运用。我们来简单的看看:
1、使用一个名为“dropdown”的容器包裹了整个下拉菜单元素,示例中为:


2、使用了一个

运行效果如下所示:

Bootstrap(基础二)_第6张图片

除了可以使用
4. 垂直分组

前面看到的示例,按钮组都是水平显示的。但在实际运用当中,总会碰到垂直显示的效果。在Bootstrap框架中也提供了这样的风格。我们只需要把水平分组的“btn-group”类名换成“btn-group-vertical”即可。
和水平分组按钮不一样的是:
☑ 水平分组按钮第一个按钮左上角和左下角具有圆角以及最后一个按钮右上角和右下角具有圆角
☑ 垂直分组按钮第一个按钮左上角和右上角具有圆角以及最后一个按钮左下角和右下角具有圆角

5. 等分按钮

等分按钮的效果在移动端上特别的实用。整个按钮组宽度是容器的100%,而按钮组里面的每个按钮平分整个容器宽度。例如,如果你按钮组里面有五个按钮,那么每个按钮是20%的宽度,如果有四个按钮,那么每个按钮是25%宽度,以此类推。
等分按钮也常被称为是自适应分组按钮,其实现方法也非常的简单,只需要在按钮组“btn-group”上追加一个“btn-group-justified”类名.
如下所示:


运行效果如下:


实现原理非常简单,把“btn-group-justified”模拟成表格(display:table),而且把里面的按钮模拟成表格单元格(display:table-cell)。

特别声明:在制作等分按钮组时,请尽量使用标签元素来制作按钮,因为使用

Bootstrap(基础二)_第8张图片
7. 按钮的向下向上三角形
  1. 向下
    按钮的向下三角形,我们是通过在
  2. 向上
    在Bootstrap框架中专门为这种效果提代了一个类名“dropup”。使用方法正如前面所示,只需要在“btn-group”上添加这个类名(当然,如果是普通向上弹出下拉菜单,你只需要在“dropdown”类名基础上追加“dropup”类名即可)。

Bootstrap(基础二)_第9张图片

三、导航

1. 基础样式

导航对于一位前端人员来说并不陌生。可以说导航是一个网站重要的元素组件之一,可以便于用户查找网站所提供的各项功能服务。导航的制作方法也是千奇百怪,五花八门。

在Bootstrap框架将导航独立出来成为一个导航组件,根据不同的版本,可以找到对应的源码:
☑ LESS版本:对应的源文件是navs.less
☑ Sass版本:对应的源文件是_navs.scss
☑ 编译后版本:对应源码是bootstrap.css文件第3450行~第3641行

Bootstrap框架中制作导航条主要通过“.nav”样式。默认的“.nav”样式不提供默认的导航样式,必须附加另外一个样式才会有效,比如“nav-tabs”、“nav-pills”之类。

2. 标签形tab导航

标签形导航,也称为选项卡导航。特别是在很多内容分块显示的时,使用这种选项卡来分组十分适合。

标签形导航是通过“nav-tabs”样式来实现。在制作标签形导航时需要在原导航“nav”上追加此类名,如:


运行的效果如下所示:

实现原理非常的简单,将菜单项(li)按块显示,并且让他们在同一水平上排列,然后定义非高亮菜单的样式和鼠标悬浮效果。

一般情况之下,选项卡教会有一个当前选中项。其实在Bootstrap框架也相应提供了。假设我们想让“Home”项为当前选中项,只需要在其标签上添加类名“class="active"”即可:


运行效果如下:

除了当前项之外,有的选项卡还带有禁用状态,实现这样的效果,只需要在标签项上添加“class="disabled"”即可:


运行效果如下:

Bootstrap(基础二)_第10张图片

注意:我们看到的选项卡效果,点击菜单项就可以切换内容,如果要实现这样的效果需要配合js插件。

3. 胶囊形(pills)导航

胶囊形(pills)导航听起来有点别扭,因为其外形看起来有点像胶囊形状。但其更像我们平时看到的大众形导航。当前项高亮显示,并带有圆角效果。其实现方法和“nav-tabs”类似,同样的结构,只需要把类名“nav-tabs”换成“nav-pills”


Bootstrap(基础二)_第11张图片
4. 垂直堆叠的导航

在实际运用当中,除了水平导航之外,还有垂直导航,就类似前面介绍的垂直排列按钮一样。制作垂直堆叠导航只需要在“nav-pills”的基础上添加一个“nav-stacked”类名即可:


运行效果如下:

Bootstrap(基础二)_第12张图片

垂直堆叠导航也具有分隔线的效果,只需要添加在导航项之间添加

  • 即可:

    
    

    如果在”nav-tabs”上添加“nav-stacked”是不是也能实现垂直的标签选项导航呢?答案是:在bootstrap V2.x版本可以,但在Bootstrap V3.x版本将这个效果取消了,可能作者觉得垂直选择项并不太常见,也不美观吧。

    5. 自适应导航

    1)使用
    自适应导航指的是导航占据容器全部宽度,而且菜单项可以像表格的单元格一样自适应宽度。自适应导航和前面使用“btn-group-justified”制作的自适应按钮组是一样的。只不过在制作自适应导航时更换了另一个类名“nav-justified”。当然他需要和“nav-tabs”或者“nav-pills”配合在一起使用。

    
    

    运行效果如下:


    2)实现原理
    实现原理并不难,列表(

      )上设置宽度为“100%”,然后每个菜单项(
    • )设置了“display:table-cell”,让列表项以模拟表格单元格的形式显示.
      这里有一个媒体查询条件:“@media (min-width:768px){…}”表示自适应导航仅在浏览器视窗宽度大于768px才能按上图风格显示。当你的浏览器视窗宽度小于768px的时候,将会按下图的风格展示:

      Bootstrap(基础二)_第13张图片

      6.导航加下拉菜单(二级导航)

      很多时候,在Web页面中是离不开二级导航的效果。那么在Bootstrap框架中制作二级导航就更容易了。只需要将li当作父容器,使用类名“dropdown”,同时在li中嵌套另一个列表ul,使用前面介绍下拉菜单的方法就可以:

      
      

      运行效果如下:


      Bootstrap(基础二)_第14张图片

      添加

    • 这样的一个空标签就可以出现分隔线效果

      Bootstrap(基础二)_第15张图片

      7.面包屑式导航

      面包屑(Breadcrumb)一般用于导航,主要是起的作用是告诉用户现在所处页面的位置(当前位置)。在Bootstrap框架中面包屑也是一个独立模块组件:

      LESS版本:对应源文件breadcrumbs.less
      Sass版本:对应源文件_breadcrumbs.scss
      编译出来的版本:源码对应bootstrap.css文件第4112行~第4129行

      使用方法:
      使用方式就很简单,为ol加入breadcrumb类:

      
      

      第6章 导航条、分页导航

      一、基础导航条

      在Bootstrap框中,导航条和导航从外观上差别不是太多,但在实际使用中导航条要比导航复杂得多。我们先来看导航条中最基础的一个——基础导航条。

      使用方法:
      在制作一个基础导航条时,主要分以下几步:
      第一步:首先在制作导航的列表(

        )基础上添加类名“navbar-nav”
        第二步:在列表外部添加一个容器(div),并且使用类名“navbar”“navbar-default”

        原理分析:
        “.navbar”样式的主要功能就是设置左右padding和圆角等效果,但他和颜色相关的样式没有进行任何的设置。而导航条的颜色都是通过“.navbar-default”来进行控制.
        navbar-nav样式是在导航.nav的基础上重新调整了菜单项的浮动与内外边距。同时也不包括颜色等样式设置,而颜色和其他样式是通过配合父容器“navbar-default”来一起实现

        二、为导航条添加标题、二级菜单及状态

        加入导航条标题

        在Web页面制作中,常常在菜单前面都会有一个标题(文字字号比其它文字稍大一些),其实在Bootstrap框架也为大家做了这方面考虑,其通过“navbar-header”和“navbar-brand”来实现。

        原理分析:
        此功能主要起一个提醒功能,当然改良一下可以当作是logo。其样式主要是加大了字体设置,并且设置了最大宽度。
        同样在默认导航条(navbar-default)下,对navbar-brand也做了颜色处理。

        导航条状态、二级菜单

        同样的,在基础导航条中对菜单提供了当前状态,禁用状态,悬浮状态等效果,而且也可以带有二级菜单的导航条,

        
        
        Bootstrap(基础二)_第16张图片

        三、带表单的导航条

        有的导航条中会带有搜索表单,比如新浪微博的导航条:


        在Bootstrap框架中提供了一个“navbar-form”,使用方法很简单,在navbar容器中放置一个带有navbar-form类名的表单。

        
        

        大家看到了“navbar-left”让表单左浮动,更好实现对齐。在Bootstrap框架中,还提供了“navbar-right”样式,让元素在导航条靠右对齐。


        四、导航条中的按钮、文本和链接

        Bootstrap框架的导航条中除了使用navbar-brand中的a元素和navbar-nav的ul和navbar-form之外,还可以使用其他元素。框架提供了三种其他样式:
        1、导航条中的按钮navbar-btn
        2、导航条中的文本navbar-text
        3、导航条中的普通链接navbar-link

        但这三种样式在框架中使用时受到一定的限制,需要和navbar-brand、navbar-nav配合起来使用。而且对数量也有一定的限制,一般情况在使用一到两个不会有问题,超过两个就会有问题。

        五、固定导航条

        很多情况之一,设计师希望导航条固定在浏览器顶部或底部,这种固定式导航条的应用在移动端开发中更为常见。Bootstrap框架提供了两种固定导航条的方式:
        ☑ .navbar-fixed-top:导航条固定在浏览器窗口顶部
        ☑ .navbar-fixed-bottom:导航条固定在浏览器窗口底部

        实现原理:
        实现原理很简单,就是在navbar-fixed-top和navbar-fixed-bottom使用了position:fixed属性,并且设置navbar-fixed-top的top值为0,而navbar-fixed-bottom的bottom值为0。

        存在bug及解决方法:
        从运行效果中大家不难发现,页面主内容顶部和底部都被固定导航条给遮住了。为了避免固定导航条遮盖内容,

        解决一:

        body {
          padding-top: 70px;/*有顶部固定导航条时设置*/
          padding-bottom: 70px;/*有底部固定导航条时设置*/
        }
        

        因为固定导航条默认高度是50px,我们一般设置padding-top和padding-bottom的值为70px,当然有的时候还是需要具体情况具体分析。

        解决二:
        把固定导航条都放在页面内容前面:

        
        
        
        我是内容

        在文件中添加下列样式代码:

        .navbar-fixed-top ~ .content {
           padding-top: 70px;
        }
        .navbar-fixed-bottom ~ .content {
          padding-bottom: 70px;
        }
        

        六、响应式导航条

        应用于当浏览器屏幕变小的时候。

        (宽屏时效果)

        (中屏时效果)

        (窄屏时效果)

        使用方法:

        1. 保证在窄屏时需要折叠的内容必须包裹在带一个div内,并且为这个div加入collapse、navbar-collapse两个类名。最后为这个div添加一个class类名或者id名。
        2. 保证在窄屏时要显示的图标样式(固定写法):
        
        
        1. 并为button添加data-target=".类名/#id名",究竞是类名还是id名呢?由需要折叠的div来决定。如:
          (1)需要折叠的div代码段:
        
        

        窄屏时显示的图标代码段:

        
        

        (2)也可以这么写,需要折叠的div代码段:

        
        

        窄屏时要显示的图标:

        
        
        
        
        
        
        
         
        
        
        
        Bootstrap(基础二)_第17张图片

        七、反色导航条

        反色导航条其实是Bootstrap框架为大家提供的第二种风格的导航条,与默认的导航条相比,使用方法并无区别,只是将navbar-deafult类名换成navbar-inverse。其变化只是导航条的背景色和文本做了修改。

        
        

        八、分页导航

        分页导航几乎在哪个网站都可见。好的分页导航能给用户带来更好的用户体验。在Bootstrap框架中提供了两种分页导航:
        ☑ 带页码的分页导航
        ☑ 带翻页的分页导航

        1. 带页码的分页导航

        带页码的分页导航,可能是最常见的一种分页导航,特别是在列表页内容超多的时候,会给用户提供分页的导航方式。在Bootstrap框架为开发者提供不同的版本:
        ☑ LESS版本:对应的源文件pagination.less
        ☑ Sass版本:对应的源文件_pagination.scss
        ☑ 编译后版本:对应bootstrap.css文件第4130行~第4222行
        **
        使用方法:**
        平时很多同学喜欢用div>a和div>span结构来制作带页码的分页导航。不过,在Bootstrap框架中使用的是ul>li>a这样的结构,在ul标签上加入pagination方法:

        
        

        运行效果:

        Bootstrap(基础二)_第18张图片

        注意:要禁用当前状态和禁用状态不能点击,我们还要依靠js来实现,或者将这两状态下的a标签换成span标签。
        大小设置:
        在Bootstrap框架中,也可以通过几个不同的情况来设置其大小。类似于按钮一样:
        1、通过“pagination-lg”让分页导航变大;
        2、通过“pagination-sm”让分页导航变小:
        大小设置实现原理:
        其实就是通增加相应的padding大小、font-size大小和圆角大小.

        2. 翻页分页导航

        Bootstrap框架除了提供带页码的分页导航之外还提供了翻页导航。这种分页导航常常在一些简单的网站上看到,比如说个人博客,杂志网站等。这种分页导航是看不到具体的页码,只会提供一个“上一页”和“下一页”的按钮。
        Bootstrap框架将其独立成一个单独的部分:
        ☑ LESS版本:对应源文件为pager.less
        ☑ Sass版本:对应源文件为_pager.scss
        ☑ 编译后版本:对应bootstrap.css文件第4223行~第4260行
        使用方法:
        在实际使用中,翻页分页导航和带页码的分页导航类似,为ul标签加入pager类:

        
        

        对齐样式设置:
        默认情况之下,翻页分页导航是居中显示,但有的时候我们需要一个居左,一个居右。Bootstrap框架提供了两个样式:
        ☑ previous:让“上一步”按钮居左
        ☑ next:让“下一步”按钮居右
        具体使用的时候,只需要在li标签上添加对应类名即可:

        
        

        状态样式设置:
        和带页码分页导航一样,如果在li标签上添加了disabled类名的时候,分页按钮处于禁用状态,但同样不能禁止其点击功能。你可以通过js来处理,或将a标签换成span标签。

        
        

        九、标签

        在一些Web页面中常常会添加一个标签用来告诉用户一些额外的信息,比如说在导航上添加了一个新导航项,可能就会加一个“new”标签,来告诉用户。这是新添加的导航项。


        那么在Bootstrap框架中特意将这样的效果提取出来成为一个标签组件,并且以 “.label”样式来实现高亮显示。

        既然他是一个独立的组件,当然在不同的版本下有不同的文件:
        ☑ LESS版本:对应的源文件label.less
        ☑ Sass版本:对应的源文件_label.scss
        ☑ 编译后版本:bootstrap.css文件第4261行~第4327行

        颜色样式设置:
        和按钮元素button类似,label样式也提供了多种颜色:
        ☑ label-deafult:默认标签,深灰色
        ☑ label-primary:主要标签,深蓝色
        ☑ label-success:成功标签,绿色
        ☑ label-info:信息标签,浅蓝色
        ☑ label-warning:警告标签,橙色
        ☑ label-danger:错误标签,红色

        十、徽章

        从某种意义上来说,徽章效果和前面介绍的标签效果是极其的相似。也是用来做一些提示信息使用。常出现的是一些系统发出的信息,比如你登录你的twitter后,如果你信息没有看,系统会告诉你有多少信息未读,如下图所示:


        在Bootstrap框架中,把这种效果称作为徽章效果,使用 “badge”样式来实现。

        对应的文件版本:
        ☑ LESS版本:源文件badges.less
        ☑ Sass版本:源文件_badges.scss
        ☑ 编译后版本:bootstrap.css文件第4328行~第4366行

        使用方法:num
        使用方法,其实也没什么太多可说的,你可以像标签一样,使用span标签来制作,然后为他加入badge类:
        Inbox 42

        第7章 其它内置组件

        一、缩略图

        缩略图在网站中最常用的地方就是产品列表页面,一行显示几张图片,有的在图片底下(左侧或右侧)带有标题、描述等信息。Bootstrap框架将这一部独立成一个模块组件。并通过“thumbnail”样式配合bootstrap的网格系统来实现。可以将产品列表页变得更好看。

        使用方法:
        通过“thumbnail”样式配合bootstrap的网格系统来实现。
        前面也说过了,缩略图的实现是配合网格系统一起使用,假设我们一个产品列表,如下图所示:

        Bootstrap(基础二)_第19张图片

        可以让缩略图配合标题、描述内容,按钮等:

        Bootstrap(基础二)_第20张图片

        在仅有缩略图的基础上,添加了一个div名为“caption“的容器,在这个容器中放置其他内容,比如说标题,文本描述,按钮等:

        二、警示框

        在网站中,网页总是需要和用户一起做沟通与交流。特别是当用户操作上下文为用户提供一些有效的警示框,比如说告诉用户操作成功、操作错误、提示或者警告等。如下图所示:

        (1)默认警示框

        Bootstrap框架通过“alert“样式来实现警示框效果。在默认情况之下,提供了四种不同的警示框效果:
        1、成功警示框:告诉用用户操作成功,在“alert”样式基础上追加“alert-success”样式,具体呈现的是背景、边框和文本都是绿色;
        2、信息警示框:给用户提供提示信息,在“alert”样式基础上追加“alert-info”样式,具体呈现的是背景、边框和文本都是浅蓝色;
        3、警告警示框:提示用户小心操作(提供警告信息),在“alert”样式基础上追加“alert-warning”样式,具体呈现的是背景、边框、文本都是浅黄色;
        4、错误警示框:提示用户操作错误,在“alert”样式基础上追加“alert-danger”样式,具体呈现的是背景、边框和文本都是浅红色。

        Bootstrap(基础二)_第21张图片
        (2)可关闭的警示框

        大家在平时浏览网页的时候,会发现一些警示框带有关闭按钮,用户一点击关闭按钮就能自动关闭显示的警示框(也就是让警示框隐藏不显示)。在Bootstrap框架中的警示框也具有这样的功能。

        使用方法:
        只需要在默认的警示框里面添加一个关闭按钮。然后进行三个步骤:
        1、需要在基本警示框“alert”的基础上添加“alert-dismissable”样式。
        2、在button标签中加入class="close"类,实现警示框关闭按钮的样式。
        3、要确保关闭按钮元素上设置了自定义属性:“data-dismiss="alert"”(因为可关闭警示框需要借助于Javascript来检测该属性,从而控制警示框的关闭)。

        
        
        
        
        
        Bootstrap(基础二)_第22张图片
        (3)警示框的链接

        有时候你可能想在警示框中加入链接地址,用来告诉用户跳到某一个地方或新的页面。而这个时候你又想让用户能明显的看出来这是链接地址。在Bootstrap框架中对警示框里的链接样式做了一个高亮显示处理。为不同类型的警示框内的链接进行了加粗处理,并且颜色相应加深。

        实现方法:
        Bootstrap框架是通过给警示框加的链接添加一个名为“alert-link”的类名,通过“alert-link”样式给链接提供高亮显示。

        
        
        
        
        
        Bootstrap(基础二)_第23张图片

        三、进度条

        在网页中,进度条的效果并不少见,比如一个评分系统,比如加载状态等。就如下图所示的一个评分系统,他就是一个简单的进度条效果:


        Bootstrap(基础二)_第24张图片
        (1)基本样式

        Bootstrap框架中对于进度条提供了一个基本样式,一个100%宽度的背景色,然后个高亮的色表示完成进度。其实制作这样的进度条非常容易,一般是使用两个容器,外容器具有一定的宽度,并且设置一个背景颜色,他的子元素设置一个宽度,比如完成度是30%(也就是父容器的宽度比例值),同时给其设置一个高亮的背景色。

        使用方法:
        Bootstrap框架中也是按这样的方式实现的,他提供了两个容器,外容器使用“progress”样式,子容器使用“progress-bar”样式。其中progress用来设置进度条的容器样式,而progress-bar用于限制进度条的进度。使用方法非常的简单:

        运行效果如下:

        结构优化:
        虽然这样实现了基本进度条效果,但对于残障人员浏览网页有点困难,所以我们可以将结构做得更好些(语义化更友好些):

        40% Complete

        1、role属性作用:告诉搜索引擎这个div的作用是进度条。
        2、aria-valuenow="40"属性作用:当前进度条的进度为40%。
        3、aria-valuemin="0"属性作用:进度条的最小值为0%。
        4、aria-valuemax="100"属性作用:进度条的最大值为100%。

        (2)彩色进度条

        Bootstrap框架中的进度条和警告信息框一样,为了能给用户一个更好的体验,也根据不同的状态配置了不同的进度条颜色。在此称为彩色进度条,其主要包括以下四种:

        ☑ progress-bar-info:表示信息进度条,进度条颜色为蓝色

        ☑ progress-bar-success:表示成功进度条,进度条颜色为绿色

        ☑ progress-bar-warning:表示警告进度条,进度条颜色为黄色

        ☑ progress-bar-danger:表示错误进度条,进度条颜色为红色

        (3)条纹进度条

        在Bootstrap框架中除了提供了彩色进度条之外,还提供了一种条纹进度条,这种条纹进度条采用CSS3的线性渐变来实现,并未借助任何图片。使用Bootstrap框架中的条纹进度条只需要在进度条的容器“progress”基础上增加类名“progress-striped”,当然,如果你要让你的进度条条纹像彩色进度一样,具有彩色效果,你只需要在进度条上增加相应的颜色类名,如前面的彩色进度条所讲。

        (4)动态条纹进度条

        使用方法:
        在进度条“progress progress-striped”两个类的基础上再加入“active”类名。如下代码:

        实现原理:
        为了让条纹进度条动起来,Bootstrap框架还提供了一种动态条纹进度条。其实现原理主要通过CSS3的animation来完成。首先通过@keyframes创建了一个progress-bar-stripes的动画,这个动画主要做了一件事,就是改变背景图像的位置,也就是background-position的值。因为条纹进度条是通过CSS3的线性渐变来制作的,而linear-gradient实现的正是对应背景中的背景图片。

        了解CSS3的同学都知道,@keyframes仅仅是创建了一个动画效果,如果要让进度条真正的动起来,我们需要通过一定的方式调用@keyframes创建的动画“progress-bar-stripes”,并且通过一个事件触发动画生效。在Bootstrap框架中,通过给进度条容器“progress”添加一个类名“active”,并让文档加载完成就触“progress-bar-stripes”动画生效。

        特别注意:要让条纹进度条动起来,就需要让“progress-striped”和“active”同时运用,不然条纹进度条是不具备动效效果。

        (5)层叠进度条

        Bootstrap框架除了提供上述几种进度条之外,还提供了一种层叠进度条,层叠进度条,可以将不同状态的进度条放置在一起,按水平方式排列。具体使用如下:

        运行效果如下:

        注意:层叠进度条宽度之和不能大于100%,大于100%就会造成下面的不良效果.

        Bootstrap(基础二)_第25张图片
        (6)带Label的进度条

        上面介绍的各种进度条,都仅仅是通过颜色进度向用户传递进度值。但实际中,有很多时候是需要在进度条中直接用相关的数值向用户传递完成的进度值,在Bootstrap就为大家考虑了这种使用场景。

        实现方法:
        只需要在进度条中添加你需要的值,如:

        20%
        Bootstrap(基础二)_第26张图片
        0%

        四、媒体对象

        在Web页面或者说移动页面制作中,常常看到这样的效果,图片居左(或居右),内容居右(或居左)排列,如下图所示:

        Bootstrap(基础二)_第27张图片

        我们常常把这样的效果称为媒体对象。可以说他是一种抽像的样式,可以用来构建不同类型的组件。这些组件都具有开篇所说的样式风格。

        (1)默认媒体对象

        媒体对象一般是成组出现,而一组媒体对象常常包括以下几个部分:

        ☑ 媒体对像的容器:常使用“media”类名表示,用来容纳媒体对象的所有内容

        ☑ 媒体对像的对象:常使用“media-object”表示,就是媒体对象中的对象,常常是图片

        ☑ 媒体对象的主体:常使用“media-body”表示,就是媒体对像中的主体内容,可以是任何元素,常常是图片侧边内容

        ☑ 媒体对象的标题:常使用“media-heading”表示,就是用来描述对象的一个标题,此部分可选

        Bootstrap(基础二)_第28张图片

        在Bootstrap框架中还常常使用“pull-left”或者“pull-right”来控制媒体对象中的对象浮动方式。

        div class="media">
            
                ![...](http://upload-images.jianshu.io/upload_images/4986739-56a6bdb1c436399c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
            
            

        系列:十天精通CSS3

        全方位深刻详解CSS3模块知识,经典案例分析,代码同步调试,让网页穿上绚丽装备!
    Bootstrap(基础二)_第29张图片
    (2)媒体对象的嵌套

    在评论系统中,常常能看到下图的效果:

    Bootstrap(基础二)_第30张图片

    从外往里看,这里有三个媒体对象,只不过是一个嵌套在另一个的里面。那么在Bootstrap框架中的媒体对象也具备这样的功能,只需要将另一个媒体对象结构放置在媒体对象的主体内“media-body”,如下所示:

    ![](…)

    Media Heading

    ![](…)

    Media Heading

    ![](…)

    Media Heading

    ...
    Bootstrap(基础二)_第31张图片
    (3)媒体对象列表

    媒体对象的嵌套仅是媒体对象中一个简单应用效果之一,在很多时候,我们还会碰到一个列表,每个列表项都和媒体对象长得差不多,同样用评论系统来说事:

    Bootstrap(基础二)_第32张图片

    使用方法:
    针对上图的媒体对象列表效果,Bootstrap框架提供了一个列表展示的效果,在写结构的时候可以使用ul,并且在ul上添加类名“media-list”,而在li上使用“media”,示例代码如下:

    
    
    Bootstrap(基础二)_第33张图片

    五、列表组

    列表组是Bootstrap框架新增的一个组件,可以用来制作列表清单、垂直导航等效果,也可以配合其他的组件制作出更漂亮的组件。

    (1)基础列表组

    基础列表组,看上去就是去掉了列表符号的列表项,并且配上一些特定的样式。在Bootstrap框架中的基础列表组主要包括两个部分:

    ☑ list-group:列表组容器,常用的是ul元素,当然也可以是ol或者div元素

    ☑ list-group-item:列表项,常用的是li元素,当然也可以是div元素
    来看一个简单的示例:

    • 揭开CSS3的面纱
    • CSS3选择器
    • CSS3边框
    • CSS3背景
    • CSS3文本
    Bootstrap(基础二)_第34张图片
    (2)带徽章的列表组

    带徽章的列表组其实就是将Bootstrap框架中的徽章组件和基础列表组结合在一起的一个效果。具体做法很简单,只需要在“list-group-item”中添加徽章组件“badge”:

    • 13揭开CSS3的面
    • 456CSS3选择器
    • 892CSS3边框
    • 90CSS3背景
    • 1290CSS3文本
    Bootstrap(基础二)_第35张图片
    (3)带链接的列表组

    带链接的列表组,其实就是每个列表项都具有链接效果。大家可能最初想到的就是在基础列表组的基础上,给列表项的文本添加链接:

    
    

    一个不足之处,就是链接的点击区域只在文本上有效:

    Bootstrap(基础二)_第36张图片

    解决一:在链接标签上增加额外的样式: “display:block”
    解决二:将ul.list-group使用div.list-group来替换,而li.list-group-item直接用a.list-group-item来替换。

    
    
    Bootstrap(基础二)_第37张图片
    (4)自定义列表组

    Bootstrap框加在链接列表组的基础上新增了两个样式:

    ☑ list-group-item-heading:用来定义列表项头部样式

    ☑ list-group-item-text:用来定义列表项主要内容

    
    
    Bootstrap(基础二)_第38张图片
    (5)列表项的状态设置

    Bootstrap框架也给组合列表项提供了状态效果,特别是链接列表组。比如常见状态和禁用状态等。实现方法和前面介绍的组件类似,在列表组中只需要在对应的列表项中添加类名:
    ☑ active:表示当前状态
    ☑ disabled:表示禁用状态

    (6)多彩列表组

    列表组组件和警告组件一样,Bootstrap为不同的状态提供了不同的背景颜色和文本色,可以使用这几个类名定义不同背景色的列表项。
    ☑ list-group-item-success:成功,背景色绿色
    ☑ list-group-item-info:信息,背景色蓝色
    ☑ list-group-item-warning:警告,背景色为黄色
    ☑ list-group-item-danger:错误,背景色为红色

    六、面板

    面板(Panels)是Bootstrap框架新增的一个组件,其主要作用就是用来处理一些其他组件无法完成的功能。

    (1)基础面板

    基础面板非常简单,就是一个div容器运用了“panel”样式,产生一个具有边框的文本显示块。由于“panel”不控制主题颜色,所以在“panel”的基础上增加一个控制颜色的主题“panel-default”,另外在里面添加了一个“div.panel-body”来放置面板主体内容:

    我是一个基础面板,带有默认主题样式风格
    (2)带有头和尾的面板

    基础面板看上去太简单了,Bootstrap为了丰富面板的功能,特意为面板增加“面板头部”和“页面尾部”的效果:
    ☑ panel-heading:用来设置面板头部样式
    ☑ panel-footer:用来设置面板尾部样式

    图解CSS3
    (3)彩色面板

    在基础面板一节中了解到,panel样式并没有对主题进行样式设置,而主题样式是通过panel-default来设置。在Bootstrap框架中面板组件除了默认的主题样式之外,还包括以下几种主题样式,构成了一个彩色面板:
    ☑ panel-primary:重点蓝

    ☑ panel-success:成功绿

    ☑ panel-info:信息蓝

    ☑ panel-warning:警告黄

    ☑ panel-danger:危险红

    来源:慕课网_玩转Bootstrap(基础)

    你可能感兴趣的:(Bootstrap(基础二))