Bootstrap的使用手册及学习笔记

Bootstrap的使用手册及学习笔记

Bootstrap是基于HTML5和CSS3开发的用于前端开发的工具包。关于Bootstrap的介绍和下载,大家可以去搜索查看。Bootstrap使用的某些HTML元素和CSS属性需要文档类型为HTML5 的文件类型。因此这一文档类型必须出现在项目的每个页面的开始部分:

<!DOCTYPE html>

2         <html lang="en">

3         ...

4         </html>

HTML中定义的所有标题标签, 从<h1> 到<h6> 都是可用的。Bootstrap定义的全局font-size 是 14px,line-height 是 20px。这些样式应用到了 <body> 和所有的段落上。另外,对 <p> (段落)还定义了1/2行高(默认为10px)的底部外边距(margin)属性。

在使用Bootstrap之前必须要将bootstrap.css或者bootstrap.min.css(压缩版)引入到页面中,它定义了Bootstrap的基本样式。如果需要使用Bootstrap提供的组件,要将bootstrap.js或者bootstrap.min.js(压缩版)引入到页面中。因为bootstrap的JS插件需要Jquery的支持,所有在引入bootstrap.js之前必须将Jquery.js也引入到页面上。另外如果你希望你的页面支持响应式布局,必须引入bootstrap-responsive.css或者bootstrap-responsive.min.css(压缩版),它主要提供页面在移动设备上的显示样式支持,需要注意的是bootstrap-responsive.css必须放置在bootstrap.css之后,否则便不具有响应式布局功能。当然在Bootstrap3的版本中,bootstrap.css和bootstrap-responsive.css已经合并了。

一、代码样式

Bootstrap提供了代码样式,用于在页面上展示代码,以此来区分于正文的区别,如果是行内嵌套代码,可以用<code>标签,但是对于代码中的符号要进行转换(<是&lt;、>是&gt;)例如:

<!--正文中内嵌代码块-->

<p>For example, <code><section></code> should be wrapped as inline.</p>

如果是代码块可以用<pre>标签,同样的,代码中的要将代码中的尖括号做转换。例如:

1<!--.pre-scrollable,其作用是设置max-height为350px,并在垂直方向展示滚动条-->

2   <pre class="pre-scrollable">

3

4    <p>Sample text here...</p>

5    <p class="text-muted">...</p>

6    <p class="text-primary">...</p>

7    <p class="text-success">...</p>

8    <p class="text-info">...</p>

9    <p class="text-warning">...</p>

10    <p class="text-danger">...</p>

11

12   </pre>

二、表格

基本的表格样式可以用 <table> 标签。例如:

1<h4>正常表格</h4>

2   <!--

3    利用.table-bordered为表格和其中的每个单元格增加边框

4   利用.table-striped可以给<tbody>之内的每一样增加斑马条纹样式

5   利用.table-hover可以让<tbody>中的每一行响应鼠标悬停状态

6    -->

7   <table class="table table-striped table-bordered table-hover">

8   <tr>

9     <th>First Name</th>

10     <th>Last Name</th>

11 <th>Username</th>

12   </tr>

13   <tr>

14     <td>Mark</td>

15     <td>Otto</td>

16 <td>@mdo</td>

17   </tr>

18   <tr>

19     <td>Jacob</td>

20     <td>Thornton</td>

21 <td>@fat</td>

22   </tr>

23   </table>

如果想让表格的内容更紧凑一点可以为表格添加 .table-condensed 类,如果想为表格添加颜色可以选择情景类,情景类有:

.success

表示成功或积极的行为

.error

表示一个危险或存有潜在危险的行为

.warning

表示警告,可能需要注意

.info

作为一个默认样式的一个替代样式

例如:

1<!--利用.table-condensed可以让表格更加紧凑,单元格中的内部(padding)均会减半-->

2  <table class="table table-condensed">

3  <tr>

4    <th>First Name</th>

5    <th>Last Name</th>

6         <th>Username</th>

7  </tr>

8  <tr class="warning">

9    <td>Mark</td>

10    <td>Otto</td>

11        <td>@mdo</td>

12  </tr>

13  <tr class="error">

14    <td>Jacob</td>

15    <td>Thornton</td>

16        <td>@fat</td>

17  </tr>

18  <tr class="info">

19    <td>Larry</td>

20    <td>the Bird</td>

21        <td>@twitter</td>

22  </tr>

23  </table>

三、表单

基本的表单可以用<form>标签,只要定义了<form>标签,标签里面的每个单独的表单控件都已经被赋予了样式。默认是堆叠、label左侧对齐并在控件之上。例如:

1<form>

2  <fieldset>

3    <legend>普通表单</legend>

4    <label>Label name</label>

5    <input type="text" placeholder="Type something…">

6    <span class="help-block">Example block-level help text here.</span>

7    <label class="checkbox">

8      <input type="checkbox"> Check me out

9    </label>

10    <button type="submit" class="btn">Submit</button>

11  </fieldset>

12</form>

另外,Bootstrap包含3个可选的常用表单布局,分别是搜索表单,行内表单,水平表单,例如:

1<legend>搜索表单</legend>

2<!--为表单增加.form-search类,并为<input>增加.search-query类,可将输入框变成圆角状-->

3         <form class="form-search">

4 <input type="text" class="input-medium search-query" placeholder="Type something…">

5 <button type="submit" class="btn">Search</button>

6         </form>

1<legend>行内表单</legend>

2<!--为表单增加.form-inline类, 结果是一个压缩型排列的表单,其中label左侧对齐、控件为inline-block类型。-->

3 <form class="form-inline">

4 <input type="text" class="input-small" placeholder="Email">

5 <input type="password" class="input-small" placeholder="Password">

6 <label class="checkbox">

7   <input type="checkbox"> Remember me

8 </label>

9 <button type="submit" class="btn">Sign in</button>

10        </form>

1         <legend>水平表单</legend>

2         <!--

3为表单添加.form-horizontal类

4将label和控件包裹在.control-group中

5为label添加.control-label类

6将任何相关的控件包裹在.controls中,以确保最佳的对齐

7         -->

8 <form class="form-horizontal">

9 <div class="control-group">

10   <label class="control-label" for="inputEmail">Email</label>

11   <div class="controls">

12     <input type="text" id="inputEmail" placeholder="Email">

13   </div>

14 </div>

15 <div class="control-group">

16   <label class="control-label" for="inputPassword">Password</label>

17   <div class="controls">

18     <input type="password" id="inputPassword" placeholder="Password">

19   </div>

20 </div>

21 <div class="control-group">

22   <div class="controls">

23     <label class="checkbox">

24       <input type="checkbox"> Remember me

25     </label>

26     <button type="submit" class="btn">Sign in</button>

27   </div>

28 </div>

29        </form>

四、按钮

任何赋予.btn类的页面元素都会显示按钮样式。不过,通常是用于更好的表现<a>和 <button>页面元素。

按钮

class=""

描述

默认

btn

带渐变的标准灰色按钮

 

btn btn-primary

提供额外的视觉感, 可在一系列的按钮中指出主要操作

 

btn btn-info

默认样式的替代样式

 

btn btn-success

表示成功或积极的动作

 

btn btn-warning

提醒应该谨慎采取这个动作

 

btn btn-danger

表示这个动作危险或存在危险

 

btn btn-inverse

备用的暗灰色按钮,不依赖于语义和用途

链接

btn btn-link

简化一个按钮, 使它看起来像一个链接,同时保持按钮的行为

如果想更改按钮的大小,可以在class类中添加 .btn-large 、.btn-small 或 .btn-mini即可改变按钮大小,通过由Glyphicons提供图片,可以给每个按钮设置一个小图标,使用时,每个图标都需要依附于一个<i>标签,并且赋予一个唯一的类(class),默认是深灰色,也可以使用反色(白色)样式的图标,只需增加一个额外的类 .icon-white 。例如:

<!--.btn-primary可以将按钮的颜色变蓝,.btn-large可以设置按钮的大小,对应的还有.btn-small.btn-mini

要想给按钮加上小图标可以使用<i>标签

-->

<div style="margin-bottom:15px">

<a  class="btn btn-primary btn-large" href=""><i class="icon-comment icon-white"></i> 查看评论</a>

</div>

 

<div style="margin-bottom:15px">

<button class="btn" type="submit"><i class="icon-shopping-cart"></i>结账</a>

</div>

 

<div style="margin-bottom:15px">

<input class="btn" type="button" value="设置">

</div>

<!--通过给按钮添加.btn-block可以使其充满父节点100%的宽度,而且按钮也变为了块级(block)元素-->

 

<button type="button" class="btn btn-primary btn-lg btn-block " disabled="disabled">Block level button</button>

<button type="button" class="btn btn-default btn-lg btn-block">Block level button</button>

五、下拉菜单按钮

下拉菜单的触发器和整个下拉菜单都需要包裹在 .dropdown 中,或者声明为position: relative;的其它页面元素中。向 .dropdown-menu添加 .pull-right 即可右对齐下拉菜单。向<li>添加 .disabled 即可禁用菜单中的某个链接,在现有的下拉菜单中,给任意的li添加 .dropdown-submenu即可自动赋予一个二级菜单,这个二级菜单会在鼠标悬停时自动展现。例如:

<div class="dropdown">

<!--data-toggle="dropdown" 表示触发下拉事件-->

    <button class="btn dropdown-toggle" data-toggle="dropdown">

    Dropdown

    <span class="caret"></span>

    </button>

  <!--添加下拉列表-->

  <ul class="dropdown-menu" role="menu"  aria-labelledby="dropdownMenu">

    <li><a tabindex="-1" href="#">Action</a></li>

    <li><a tabindex="-1" href="#">Another action</a></li>

    <li><a tabindex="-1" href="#">Something else here</a></li>

    <li class="divider"></li>

    <li><a tabindex="-1" href="#">Separated link</a></li>

<!--添加二级子菜单-->

<li class="dropdown-submenu">

       <a tabindex="-1" href="#">More options</a>

       <ul class="dropdown-menu">

       <li><a tabindex="-1" href="#">Another action</a></li>

       <li><a tabindex="-1" href="#">Something else here</a></li>

       </ul>

     </li>

  </ul>

</div>

六、按钮组

将带有 .btn 类的一系列按钮包裹在 .btn-group 中,即可创建一个按钮组。例如:

<div class="btn-group">

<button class="btn">Left</button>

<button class="btn">Middle</button>

<button class="btn">Right</button>

</div>

如果想创建一个将多个多维按钮组,只要将<divclass="btn-group">放入<divclass="btn-toolbar">中即可获得更多复杂的组件,如果想让一组按钮呈现出垂直方向堆叠的样式,只需要在 .btn-group 的后面添加 .btn-group-vertical 类即可。

七、分裂式按钮下拉菜单

在按钮组的基础上,我们可以很容易的创建分裂式按钮。分裂式按钮左侧是一个标准形式的按钮,右侧是一个可触发下拉菜单的链接。例如:

<div class="btn-group">

<!--为了保证URL符合规范,请使用data-target属性来代替href="#"。-->

  <a class="btn dropdown-toggle" data-toggle="dropdown" data-target="#" href="/page.html">

    动作

<!--在按钮的后面创建一个箭头-->

    <span class="caret"></span>

  </a>

  <ul class="dropdown-menu">

    <li><a tabindex="-1" href="#">Action</a></li>

    <li><a tabindex="-1" href="#">Another action</a></li>

  </ul>

</div>

 

<!--dropup表示创建一个向上弹出的菜单样式-->

<div class="btn-group dropup">

  <button class="btn">动作</button>

  <!--data-toggle="dropdown"主要是给按钮绑定下拉菜单的点击弹出事件-->

  <button class="btn dropdown-toggle" data-toggle="dropdown">

  <!--在按钮的后面创建一个箭头-->

  <span class="caret"></span>

  </button>

  <!--创建下拉子菜单用.dropdown-menu定义-->

 

<ul class="dropdown-menu">

  <li><a tabindex="-1" href="#">Action</a></li>

  <li><a tabindex="-1" href="#">Another action</a></li>

</ul>

          </div>

链接或按钮上的data-toggle="dropdown"即表示激活下拉菜单,当然你也可以通过JS的方式来触发下拉事件,例如:

<script>

 //对所有的class="dropdown-toggle"按钮或是链接定义下拉事件

 $('.dropdown-toggle').dropdown()

 //对ID=Mybtn的按钮或是链接定义下拉事件

 $('#Mybtn').dropdown()

 </script>

注:如果 dropdown() 带上参数名为 toggle 的参数(dropdown('toggle')),即表示根据当前下拉菜单的状态来响应事件,如果下拉菜单是隐藏的即显示出来,如果是显示的即隐藏起来。

八、选项卡

基于<ul>并添加.nav-tabs 或者是 .nav-pills 类即可创建一个选项卡,为任一导航组件(标签页、pills或列表)添加 .disabled 类,均可让链接变灰并失去鼠标悬停效果。但是链接仍然是可以点击的,除非你将链接的href属性去除,你还可以写JavaScript代码阻止用户点击链接。例如:

<!--设置选项卡的展示样式:.nav-tabs  .nav-pills

如果想创建堆叠式的排列,可以在nav-tabs(nav-pills)的后面添加nav-stacked -->

<ul class="nav nav-tabs">

<!--class="active"表示默认激活第一个选项卡-->

<li class="active"><a href="#tab1" data-toggle="tab">选项一</a></li>

<li><a href="#tab2"  data-toggle="tab">选项二</a></li>

<li><a href="#tab3"  data-toggle="tab">选项三</a></li>

</ul>

 

<div class="tab-content">

<div class="tab-pane active" id="tab1"><p>选项一的内容</p></div>

<div class="tab-pane" id="tab2"><p>选项二的内容</p></div>

<div class="tab-pane" id="tab3"><p>选项三的内容</p></div>

</div>

九、导航条

在页面上添加导航条组件可以用 .navbar 类来定义,然后用 .navbar-inner 类将导航中的条目装载在一起,导航条中条目可以是无序列表,将导航条放入 .container 中就可以限制其宽度。如果想在导航条目中添加分隔符,只需增加一个空白的条目并为其设置一个类即可,如果想要在导航中添加一个表单,需要包含在 .navbar-form 类中,如果是搜索表单可以定义为 .navbar-search。例如:

          <div class="navbar">

            <div class="navbar-inner">

            <!--定义导航的Title-->

              <a class="brand" href="#">Title</a>

              <ul class="nav">

                <li class="active"><a href="#">首页</a></li>

                <li><a href="#">Link1</a></li>

                <li><a href="#">Link2</a></li>

                      <li><a href="#">Link3</a></li>

                      <!--添加分隔符-->

                      <li class="divider-vertical"></li>

                <li><a href="#">Link4</a></li>

                      <li><a href="#">Link5</a></li>

 

                       <!--在导航中添加一个普通表单

                      <form class="navbar-form pull-right">

                  <input type="text" class="span2">

                  <button type="submit" class="btn">Submit</button>

                </form>

                      -->

 

                <!--在导航中添加一个搜索表单-->

                      <form class="navbar-search pull-right">

                      <!--为输入框添加.search-query即可获得一个搜索表单-->

                 <input type="text" class="search-query" placeholder="Search">

                </form>

              </ul>

            </div>

          </div>

如果想在导航条目中加入下拉菜单,只需要在导航条目 <li> 的后面加上:

          <!--添加一个下拉菜单-->

                      <ul class="nav">

                  <li class="dropdown">

                   <a href="#" class="dropdown-toggle" data-toggle="dropdown">

                    Account

                    <b class="caret"></b>

                    </a>

                    <ul class="dropdown-menu">

                       <li><a tabindex="-1" href="#">Action</a></li>

                       <li><a tabindex="-1" href="#">Another action</a></li>

                    </ul>

                   </li>

                 </ul>

十、面包屑

面包屑组件可以用 .breadcrumb 类来定义,在页面上可以用于位置(路径)提示。例如:

          <ul class="breadcrumb">

          <li><a href="#">首页</a> <span class="divider">/</span></li>

          <li><a href="#">Library</a> <span class="divider">/</span></li>

          <li class="active">Data</li>

          </ul>

十一、分页

分页用 .pagination 类来定义,定义如下:

          <!--.pagination-centered(中间).pagination-rigth(右边)-->

               <div class="pagination pagination-centered">

                     <ul>

                        <li><a href="#">«</a></li>

                         <li><a href="#">1</a></li>

                               <li class="active"><a href="#">2</a></li>

                               <li><a href="#">3</a></li>

                               <li><a href="#">4</a></li>

                               <li><a href="#">5</a></li>

                               <li><a href="#">Next</a></li>

                     </ul>

                     </div>

可根据不同情况定制链接。用 .disabled 标明链接不可点击,用 .active 标明当前页。

          <div class="pagination">

          <ul>

          <li class="disabled"><a href="#">«</a></li>

          <li class="active"><a href="#">1</a></li>

          ...

          </ul>

          </div>

你还可以使用span标签替代a 标签,这样就去除了点击功能,同时又能保留需要的样式。

          <div class="pagination">

          <ul>

          <li class="disabled"><span>«</span></li>

          <li class="active"><span>1</span></li>

          ...

          </ul>

          </div>

如果需要更改分页器的大小,在class="pagination”里面添加 .pagination-large 、.pagination-small 或 .pagination-mini 就可以改变分页尺寸。如果需要定义“上一页”“下一页”的翻页样式”可以用 .page 类:

            <ul class="pager">

                     <li ><a href="#">前一页</a></li>

                     <li ><a href="#">后一页</a></li>

                     </ul>

 

            <!--将链接放页面两侧-->

                     <ul class="pager">

                     <li class="previous"><a href="#">前一页</a></li>

                     <li class="next"><a href="#">后一页</a></li>

                     </ul>

分页也可使用 .disabled 工具类让链接处于禁用状态,添加在<li>的 calss 属性里面。

十二、提示框

提示框用 .alert 定义。例如:

          <div class="alert alert-info" id="Myalert">

                    <!--用<a>标签来设置关闭功能-->

                    <a href="#" class="close" data-dismiss="alert">X</a>

              <h4>提示</h4>

              这是一段提示信息。

                    </div>

 

           <!-- 带按钮的的信息提示 -->

                    <div class="alert alert-error fade in">

               <button type="button" class="close" data-dismiss="alert">×</button>

               <strong>Warning!</strong> Best check yo self, you're not looking too good.

                     <p>

               <a class="btn btn-danger" href="#">接受</a> <a class="btn" href="#">拒绝</a>

               </p>

              </div>

弹出对话框的样式有多钟选择可以定义为 alert-error、lert-success、alert-info。

关闭对话框有两种方式,一种是通过链接的方式(Safari和Opera移动版浏览器上,当使用<a>标签关闭警告框时,除了添加data-dismiss="alert"属性外,还需要包含href="#"属性),一种是通过按钮的方式。按钮方式如下:

          <div class="alert alert-error">

               <button type="button" class="close" data-dismiss="alert">×</button>

               <strong>Warning!</strong> Best check yo self, you're not looking too good.

          </div>

如果你希望警告框在关闭时带有动画效果,请确保 .fade 和 .in类已经应用到这些警告框上。除此之外还可以通过调用JS的方式来达到关闭的效果,同时在关闭提示的时候还可以绑定事件,例如:

          <script>

          //给ID="Myalert"添加关闭时的事件绑定

          $('#Myalert').bind('close', function () {

            alert('提示信息即将被关闭');

          })

          $('#Myalert').bind('closed', function () {

            alert('提示信息已经被关闭');

          })

 

          //关闭提示最好放在一个方法里面,不然页面一启动,信息提示就关闭了

          $('#Myalert').alert('close');

          </script>

十三、静态对话框

模态对话框是一类简洁、灵活的的弹框,Bootstrap通过 .modal 类来定义整个对话框。对话框包含三个部分:标题、正文、页脚按钮,这是对话框的通用样式,其分别对应的样式类为:.modal-header、.modal-body、.modal-footer 。

.modal-header主要用于显示标题,也可以带有关闭按钮。.modal-body是正文部分,具体内容可自定义,一般为提示语,或是个表单。.modal-footer主要显示操作按钮,如"关闭"、"保存"等等,实例如下:

           <!--触发弹出对话框-->

            <a href="#myModal"  role="button" class="btn" data-toggle="modal">链接触发</a>

            <button type="button" class="btn" data-toggle="modal" data-target="#myModal">按钮触发</button>

          <!--定义一个.modal的div包围整个对话框内容 hide表示隐藏 fade是动画效果

                data-backdrop="false" 表示没有背景遮挡,如是true表示显示黑色的页面背景且点击黑色背景会隐蔽modal

                data-backdrop="static"表示有背景遮挡,并且点击对黑色背景区域,对话框不会消失-->

            <div id="myModal" class="modal hide fade" data-backdrop="static">

            <!--用.modal-header定义一个对话框的头-->

            <div class="modal-header">

             <!--添加一个关闭按钮-->

              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

              <h3>对话框标题</h3>

            </div>

            <!--用.modal-body定义对话框的主体内容-->

            <div class="modal-body">

              <p>One fine body…</p>

            </div>

            <!--用.modal-footer定义对话框的主体内容-->

            <div class="modal-footer">

              <a href="#" class="btn" οnclick="hideModal()">关闭</a>

              <a href="#" class="btn btn-primary">Save changes</a>

            </div>

            </div>

           </div>

如上述代码所示,无论是触发还是关闭对话框都可以通过设置data属性来进行操作,无需编写JavaScript代码。在一个主控元素,例如按钮,上设置data-toggle="modal" ,然后将data-target="#modalID"(按钮上) 或href="#fmodalID"(链接上)用以指向某个将要被启动的对话框,这样点击触发元素就会弹出对话框。关闭操作也是一样,在对话框内的某个触发元素上只需要指定 data-dismiss="modal" 即可。

当然你也可以使用JS的方式来进行触发或者是关闭操作。

          $('#myModal').modal()

在触发对话框时还可以设置一些参数:

名称

类型

默认

描述

backdrop

布尔值

true

为true时,显示对话框的遮蔽背景,鼠标点击背景即可关闭对话框。为false时,无背景。

keyboard

布尔值

true

为true时按下ESC键关闭模态对话框。为false时无效。

show

布尔值

true

是否在初始化时显示对话框。

上面的参数都可以通过data属性或JavaScript代码传递给组件。对于data属性,将选项名称附着于data-字符串之后,就像data-backdrop=""一样。参数可以加到触发元素上,也可加到对话框元素上。

如果想通过javascript进行设置,如下:

         

          $('#myModal').modal({

            keyboard: false

          })

另外还提供了几个控制方法,如下:

          $('#myModal').modal('toggle'):手动打开或隐藏一个模态对话框。

          $('#myModal').modal('show'):手动打开一个模态对话框。

          $('#myModal').modal('hide'):手动隐藏一个模态对话框。

Bootstrap中的模态对话框对外暴露了一些事件允许你监听:

事件

描述

show

当show方法被调用时,此事件将被立即触发。

shown

当模态对话框呈现到用户面前时(会等待过渡效果执行结束)此事件被触发。

hide

当hide方法被调用时,此事件被立即触发。

hidden

当模态对话框被隐藏(而且过渡效果执行完毕)之后,此事件将被触发。

 

          $('#myModal').on('事件名', function () {

          // do something…

          })

十四、工具提示

工具提示有两种形式,分别是 tooltip 和 popover 。实例如下:

 

<p><a title="这是一个提示信息" rel="tooltip" href="#">Tooltip</a></p>

<p><a class="btn" title="这是标题" data-content="这是提示的主要内容"

rel="popover" href="#">Popover</a></p>

 

如果想要触发提示信息,必须要写JS代码:

          <script>

          $('body').off('.data-api')

            $("a[rel=tooltip]").tooltip()

            $("a[rel=popover]").popover()

          </script>

十五、进度条

进度条使用 .progress 类定义,默认样式是带有垂直渐变的进度条。例如:

 

          <div class="progress">

          <div class="bar" style="width: 60%;"></div>

          </div>

 

如果想使用渐变创建的一个条纹效果的进度条(不支持IE7-8)可以在 <div class="progress">的class属性里面再加入一个 .progress-striped 类,如果为 .progress-striped 添加 .active ,即可创建一个从右向左变化的条纹样式(IE全系列都不支持此效果)如:

 

<div class="progress progress-striped active">

 

          <div class="bar" style="width: 40%;"></div>

 

</div>

 

如果想创建堆叠样式可将多个进度条放入同一个 .progress 中即可,如:

 

          <div class="progress">

            <div class="bar bar-success" style="width: 35%;"></div>

            <div class="bar bar-warning" style="width: 20%;"></div>

            <div class="bar bar-danger" style="width: 10%;"></div>

          </div>

 

备注:进度条依赖于CSS3的渐变、过度和动画特性,这些都是不被IE7-9 或较老版本的Firefox所支持的。IE10和Opera 12之前的版本均不支持动画特性。

十六、轮播

bootstrap为轮播组件定义了一套轮播的css样式,其中有三个最基本的样式 .carousel 、.carousel-inner 、.item 。

.carousel 是整个轮播的样式。 .carousel-inner 是幻灯片组的样式,所有的幻灯片都定义在其内。.item 是每张幻灯片的样式(其内是轮播的元素,比如单张图片),这三个样式定义了整个轮播组件的架构。另外还有俩个 .carousel-indicators .carousel-control是可选的,这俩个是用于控制幻灯片。.carousel-indicators 是指示器,控制直接切换到哪张,.carousel-control是控制器,用于切换上一张、下一张。

在控制器和指示器中使用data属性可以很容易的控制轮播的位置。data-slide内可以包含prev (切换到上一张)或 next(切换到下一张),他们可以改变当前帧,一般用作控制器。另外,使用data-slide-to可以传递某个帧的下标,例如data-slide-to="2",这样就可以直接跳转到这个指定的帧 (一般用作指示器,下标从0开始计算)。例如:

 

          <!-- slide是设置轮播的动画效果(平缓过渡)默认是5秒切换一次-->

             <div id="myCarousel" class="carousel slide">

             <!--用作指示器-->

                <ol class="carousel-indicators">

                  <li data-target="#myCarousel" data-slide-to="0" class="active"></li>

                  <li data-target="#myCarousel" data-slide-to="1"></li>

                  <li data-target="#myCarousel" data-slide-to="2"></li>

                </ol>

 

             <div class="carousel-inner">

             <!--每一个整体都用一个.item定义一下active表示默认显示-->

             <div class="item active">

             <img src="http://placehold.it/940x360/C24704/FFFFFF&text=Bootstrp" alt="">

             <!--定义文字的样式(半透明黑色的背景)-->

             <div class="carousel-caption">

             <h4>标题一</h4>

             <p>Bootstrap提供了几种可以帮你快速上手的方式,每种方式针对具有不同技能等级的开发者和不同的使用场景。</p>

             </div>

             </div>

 

             <div class="item">

             <img src="http://placehold.it/940x360/C24704/FFFFFF&text=Bootstrp" alt="">

             <div class="carousel-caption">

             <h4>标题二</h4>

             <p>Bootstrap提供了几种可以帮你快速上手的方式,每种方式针对具有不同技能等级的开发者和不同的使用场景.</p>

             </div>

             </div>

 

             <div class="item">

             <img src="http://placehold.it/940x360/C24704/FFFFFF&text=Bootstrp" alt="">

             <div class="carousel-caption">

             <h4>标题三</h4>

             <p>Bootstrap提供了几种可以帮你快速上手的方式,每种方式针对具有不同技能等级的开发者和不同的使用场景。</p>

             </div>

             </div>

             </div>

             <!--用作控制器-->

             <a href="#myCarousel" data-slide="prev" class="carousel-control left"> ‹ </a>

             <a href="#myCarousel" data-slide="next" class="carousel-control right"> › </a>

             </div>

 

当然你也可以使用JS的方式来启动轮播:

 

           //将带有"carousel"类样式的元素作为轮播组件启动

           $('.carousel').carousel()

           //id="myCarousel"的元素作为轮播组件启动

           $('#myCarousel').carousel()

 

备注:如果要控制轮播必须要结合bootstrap提供的属性方法。另外,如果你不用JS方式来启动的话,在页面的第一次刷新的时候,轮播并不会启动(图片不会自己转换),只有当然你点击了页面上的控制事件才后才会启动。

bootstrap提供了俩个参数用于对轮播过程进行控制。

名称

类型

默认值

描述

interval

number

5000

在自动轮播过程中,展示每帧所停留的时间。如果是false,轮播不会自动启动。

pause

string

"hover"

当鼠标在轮播区域内时暂停循环,在区域外时则继续循环。

例如初始化一个带有可选参数object的轮播,并且自动开始循环播放。

 

$('.carousel').carousel({

interval: 2000

})

 

另外还提供了几个用于对轮播控制的方法,如下:

 

.carousel('cycle'):从左向右循环播放。

.carousel('pause'):停止循环播放。

.carousel(number):循环到指定帧(下标从0开始,类似数组)。

.carousel('prev'):返回到上一帧。

.carousel('next'):下一帧。

 

Bootstrap的轮播插件对外暴露了两个可被监听的事件。

事件名

描述

slide

当slide实例方法被调用时,此事件会被立即触发。

slid

当切换完一帧后触发。

slide事件是在幻灯片每次切换时触发。slid事件是在每次切换完成时触发(如果存在过度效果则在过度效果完成后触发)。使用方式如下:

 

$('#myCarousel').on('事件名', function () {

  ....

})

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值