Bootstrap(笔记)

Bootstrap官网:可以下载最新版本的bootstrap框架,源码。或者直接使用bootstrap官方提供的CDN链接,在页面中引用官方CDN的路径即可。

Bootstrap中的JS插件依赖于jQuery,因此jQuery要在bootstrap之前引用。

基本的HTML模板


<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Bootstrap的HTML标准模板title>   
        
        <link href="css/bootstrap.min.css" rel="stylesheet">
        
        <link href="css/your-style.css" rel="stylesheet">        
        
        
    head>
    <body>
        <h1>Hello, world!h1>

        
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.min.js">script>
        
        <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js">script> 
    body>
html>

全局样式

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  margin: .67em 0;
  font-size: 2em;
}
mark {
  color: #000;
  background: #ff0;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -.5em;
}
sub {
  bottom: -.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  height: 0;
  -moz-box-sizing: content-box;
       box-sizing: content-box;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  padding: .35em .625em .75em;
  margin: 0 2px;
  border: 1px solid #c0c0c0;
}
legend {
  padding: 0;
  border: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
td,
th {
  padding: 0;
}
@media print {
  * {
    color: #000 !important;
    text-shadow: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;

    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  select {
    background: #fff !important;
  }
  .navbar {
    display: none;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}

标题

在Bootstrap中为了让非标题元素和标题使用相同的样式,还特意定义了.h1~.h6六个类名。

eg.

<div class="h1">Bootstrap标题一div>
<div class="h2">Bootstrap标题二div>
<div class="h3">Bootstrap标题三div>
<div class="h4">Bootstrap标题四div>
<div class="h5">Bootstrap标题五div>
<div class="h6">Bootstrap标题六div>

在一个标题后面紧跟着一行小的副标题。在Bootstrap中,使用了标签来制作副标题。

eg.

<h1>Bootstrap标题一<small>我是副标题small>h1>
<h2>Bootstrap标题二<small>我是副标题small>h2>
<h3>Bootstrap标题三<small>我是副标题small>h3>
<h4>Bootstrap标题四<small>我是副标题small>h4>
<h5>Bootstrap标题五<small>我是副标题small>h5>
<h6>Bootstrap标题六<small>我是副标题small>h6>

强调内容

如果想让一个段落p突出显示,可以通过添加类名“.lead”实现。

eg.

<p>我是一个普通的段落,我不需要强调显示p>
<p class="lead">这部分内容需要特别的强调,我和别人长得不一样p>

除此之外,Bootstrap还通过元素标签:给文本做突出样式处理。

粗体

在Bootstrap中,可以使用标签让文本直接加粗。

eg.

<p>我在学习<strong>Bootstrapstrong>,我要掌握<strong>Bootstrapstrong>的所有知识。p>

斜体

在Bootstrap中通过使用标签来实现斜体。

eg.

<p>我在慕课网上跟<em>大漠em>一起学习<i>Bootstrapi>的使用。我一定要学会<i>Bootstrapi>。p>

强调相关的类

Bootstrap还定义了一套类名,这里称其为强调类名(类似前面说的“.lead”),这些强调类都是通过颜色来表示强调,具本说明如下:

.text-muted:提示,使用浅灰色(#999)
.text-primary:主要,使用蓝色(#428bca)
.text-success:成功,使用浅绿色(#3c763d)
.text-info:通知信息,使用浅蓝色(#31708f)
.text-warning:警告,使用黄色(#8a6d3b)
.text-danger:危险,使用褐色(#a94442)

eg.

<div class="text-muted">.text-muted 效果div>
<div class="text-primary">.text-primary效果div>
<div class="text-success">.text-success效果div>
<div class="text-info">.text-info效果div>
<div class="text-warning">.text-warning效果div>
<div class="text-danger">.text-danger效果div>

文本对齐风格

Bootstrap通过定义四个类名来控制文本的对齐风格:

  • .text-left:左对齐
  • .text-center:居中对齐
  • .text-right:右对齐
  • .text-justify:两端对齐

特别声明:目前两端对齐在各浏览器下解析各有不同,特别是应用于中文文本的时候。所以项目中慎用。

eg.

class="text-left">我居左

class="text-center">我居中

class="text-right">我居右

class="text-justify">There is clearly a need for CSS to be taken seriously by graphic artists. The Zen Garden aims to excite, inspire, and encourage participation. To begin, view some of the existing designs in the list. Clicking on any one will load the style sheet into this very page. The code remains the same, the only thing that has changed is the external .css file.

列表

无序列表有序列表使用方式和我们平时使用的一样(无序列表使用ul,有序列表使用ol标签),在样式方面,Bootstrap只是在此基础上做了一些细微的优化。

eg.

<ul>
    <li>列表项目li>
    <li>列表项目li>
    <li>列表项目li>
    <li>列表项目li>
    <li>列表项目li>
ul>

<ol>
      <li>项目列表一li>
      <li>项目列表二li>
      <li>项目列表三li>
ol>

列表嵌套
eg.

<ol>
    <li>有序列表li>
    <li>
    有序列表
        <ol>
        <li>有序列表(2)li>
        <li>有序列表(2)li>
        ol>
    li>
    <li>有序列表li>
ol>

去点列表
Bootstrap通过给无序列表添加一个类名“.list-unstyled”,这样就可以去除默认的列表样式的风格。
eg.


<ul class="list-unstyled">
        <li>不带项目符号li>
        <li>不带项目符号li>
ul>


 <ol class="list-unstyled">
        <li>不带项目编号li>
        <li>不带项目编号li>
ol>

内联列表
Bootstrap通过添加类名“.list-inline”来实现内联列表,就是把垂直列表换成水平列表,而且去掉项目符号(编号),保持水平显示。
eg.

<ul class="list-inline">
    <li>W3cplusli>
    <li>Blogli>
    <li>CSS3li>
    <li>jQueryli>
    <li>PHPli>
ul>

定义列表
eg.

<dl>
    <dt>W3cplusdt>
    <dd>一个致力于推广国内前端行业的技术博客dd>
    <dt>慕课网dt>
    <dd>一个真心在做教育的网站dd>
dl>

水平定义列表
Bootstrap可以给

添加类名“.dl-horizontal”给定义列表实现水平显示效果。
只有屏幕大于768px的时候,添加类名“.dl-horizontal”才具有水平定义列表效果。
eg.

<dl class="dl-horizontal">
    <dt>W3cplusdt>
    <dd>一个致力于推广国内前端行业的技术博客。它以探索为己任,不断活跃在行业技术最前沿,努力提供高质量前端技术博文dd>
    <dt>慕课网dt>
    <dd>一个专业的,真心实意在做培训的网站dd>
    <dt>我来测试一个标题,我来测试一个标题dt>
    <dd>我在写一个水平定义列表的效果,我在写一个水平定义列表的效果dd>
dl>

代码

在Bootstrap主要提供了三种代码风格:

  • 使用来显示单行内联代码
  • 使用<pre>来显示多行块代码
  • 使用来显示用户输入代码

    eg.

code风格:
Bootstrap的代码风格有三种:<code><pre><kbd>
pre风格:
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
kbd风格:
请输入ctrl+c来复制代码,然后使用ctrl+v来粘贴代码

不管使用哪种代码风格,在代码中碰到小于号(<)要使用硬编码“<”来替代,大于号(>)使用“>”来替代。而且对于

代码块风格,标签前面留多少个空格,在显示效果中就会留多少个空格。建议在编写HTML标签时,就控制好。

只需要在pre标签上添加类名“.pre-scrollable”,就可以控制代码块区域最大高度为340px,一旦超出这个高度,就会在Y轴出现滚动条。

表格

Bootstrap为表格提供了1种基础样式和4种附加样式以及1个支持响应式的表格。
只需要添加对应的类名就可以得到不同的表格风格。

  • .table:基础表格
  • .table-striped:斑马线表格
  • .table-bordered:带边框的表格
  • .table-hover:鼠标悬停高亮的表格
  • .table-condensed:紧凑型表格
  • .table-responsive:响应式表格
    eg.
<table class="table">
table>
  1. 表格行的类
    Bootstrap还为表格的行元素提供了五种不同的类名,每种类名控制了行的不同背景颜色。
    Bootstrap(笔记)_第1张图片
    如果需要给tr元素添加其他颜色样式时,在”.table-hover”表格中也要做相应的调整。

  2. 基础表格
    Bootstrap(笔记)_第2张图片

  3. 斑马线表格
    Bootstrap(笔记)_第3张图片

  4. 带边框的表格
    Bootstrap(笔记)_第4张图片

  5. 鼠标悬浮高亮的表格

class="table table-hover">
  • 紧凑型表格
<table class="table table-condensed">
…
table>

在使用Bootstrap表格时,千万注意,

元素中一定不能缺少类名“table”。

  • 响应式表格
<div class="table-responsive">
<table class="table table-bordered">table>
div>

基础表单

在Bootstrap框架中,通过定制了一个类名.form-control
eg.

type="email" class="form-control" id="exampleInputEmail1" placeholder="请输入您的邮箱地址">

水平表单

Bootstrap框架默认的表单是垂直显示风格,但很多时候我们需要的水平表单风格(标签居左,表单控件居右)

在Bootstrap框架中要实现水平表单效果,必须满足以下两个条件:
1、在
元素使用类名“form-horizontal”。
2、配合Bootstrap框架的网格系统。

内联表单

只需要在元素中添加类名“form-inline”即可。

如果你要在input前面添加一个label标签时,会导致input换行显示。如果你必须添加这样的一个label标签,并且不想让input换行,你需要将label标签也放在容器“form-group”中。

<body>
<form class="form-inline" role="form">
  <div class="form-group">
    <label class="sr-only" for="exampleInputEmail2">邮箱label>
    <input type="email" class="form-control" id="exampleInputEmail2" placeholder="请输入你的邮箱地址">
  div>
  <div class="form-group">
    <label class="sr-only" for="exampleInputPassword2">密码label>
    <input type="password" class="form-control" id="exampleInputPassword2" placeholder="请输入你的邮箱密码">
  div>
  <div class="checkbox">
    <label>
      <input type="checkbox"> 记住密码
    label>
  div>
  <button type="submit" class="btn btn-default">进入邮箱button>
form>  
body>

在label标签运用一个类名“sr-only”,这个样式将标签隐藏。

表单控件(输入框input)

为了让控件在各种表单风格中样式不出错,需要添加类名“form-control”

type="email" class="form-control" placeholder="Enter email">

表单控件(下拉选择框select)

body>
<form role="form">
  <div class="form-group">
    <select class="form-control"> 
      <option>1option> 
      <option>2option> 
      <option>3option> 
      <option>4option> 
      <option>5option> 
      select>
  div>
  <div class="form-group">
      <select multiple class="form-control"> 
        <option>1option> 
        <option>2option> 
        <option>3option> 
        <option>4option> 
        <option>5option> 
      select>
  div>

form>   
body>

表单控件(文本域textarea)

文本域和原始使用方法一样,设置rows可定义其高度,设置cols可以设置其宽度。但如果textarea元素中添加了类名“form-control”类名,则无需设置cols属性。

<form role="form">
  <div class="form-group">
    <textarea class="form-control" rows="3">textarea>
  div>
form>    

表单控件(复选框checkbox和单选择按钮radio)

<body>
<form role="form">
  <h3>案例1h3>
  <div class="checkbox">
    <label>
      <input type="checkbox" value="">
      记住密码
    label>
  div>
  <div class="radio">
    <label>
      <input type="radio" name="optionsRadios" id="optionsRadios1" value="love" checked>
      喜欢
    label>
  div>
    <div class="radio">
    <label>
      <input type="radio" name="optionsRadios" id="optionsRadios2" value="hate">
      不喜欢
    label>
  div>


form>     
body>

Bootstrap(笔记)_第5张图片

表单控件(复选框和单选按钮水平排列)

1、如果checkbox需要水平排列,只需要在label标签上添加类名“checkbox-inline”
2、如果radio需要水平排列,只需要在label标签上添加类名“radio-inline”

"form">
  
class="form-group">
class="form-group">

表单控件(按钮)

在Bootstrap框架中的按钮都是采用

默认按钮

Bootstrap(笔记)_第7张图片

多标签支持

唯一需要注意的是,要在制作按钮的标签元素上添加类名“btn”。


type="submit" class="btn btn-default" value="input标签按钮"/>
"##" class="btn btn-default">a标签按钮
class="btn btn-default">span标签按钮
class="btn btn-default">div标签按钮

强烈建议使用button或a标签来制作按钮。

定制风格

在Bootstrap框架中不同的按钮风格都是通过不同的类名来实现,在使用过程中,开发者只需要选择不同的类名即可:
Bootstrap(笔记)_第8张图片
在基础按钮“.btn”基础上追加对应的类名,就可以得到需要的按钮风格。








按钮大小

类似于input一样,通过在基础按钮“.btn”的基础上追加类名来控制按钮的大小。
Bootstrap(笔记)_第9张图片




块状按钮

Bootstrap框架中提供了一个类名“btn-block”,按钮使用这个类名就可以让按钮充满整个容器,并且这个按钮不会有任何的padding和margin值。

只需要在原按钮类名上添加“.btn-block”类名,当然“.btn”类名是不可或缺的。

按钮状态——活动状态

Bootstrap按钮的活动状态主要包括按钮的悬浮状态(:hover),点击状态(:active)和焦点状态(:focus)几种。

按钮状态——禁用状态

方法1:在标签中添加disabled属性
方法2:在元素标签中添加类名“disabled”

在元素标签中添加“disabled”属性的方法是可以禁止元素的默认行为的。
“.disabled”样式不会禁止按钮的默认行为,比如说提交和重置行为等。



图像

1、img-responsive:响应式图片,主要针对于响应式设计
2、img-rounded:圆角图片
3、img-circle:圆形图片
4、img-thumbnail:缩略图片

<img  alt="140x140" src="http://placehold.it/140x140">
<img  class="img-rounded" alt="140x140" src="http://placehold.it/140x140">
<img  class="img-circle" alt="140x140" src="http://placehold.it/140x140">
<img  class="img-thumbnail" alt="140x140" src="http://placehold.it/140x140">
<img  class="img-responsive" alt="140x140" src="http://placehold.it/140x140">

对于圆角图片和圆形图片效果,对于IE8以及其以下版本不支持。

图标

在任何内联元素上应用所对应的样式即可:

<span class="glyphicon glyphicon-search">span>
<span class="glyphicon glyphicon-asterisk">span>
<span class="glyphicon glyphicon-plus">span>
<span class="glyphicon glyphicon-cloud">span>

所有icon都是以”glyphicon-”前缀的类名开始,然后后缀表示图标的名称。
Bootstrap(笔记)_第10张图片

所有名称查看

网格系统

  • 实现原理
    Bootstrap框架中的网格系统就是将容器平分成12份。

  • 工作原理
    1、数据行(.row)必须包含在容器(.container)中
    2、在行(.row)中可以添加列(.column),但列数之和不能超过平分的总列数,比如12。
    3、具体内容应当放置在列容器(column)之内,而且只有列(column)才可以作为行容器(.row)的直接子元素

<div class="container">
  <div class="row">
    <div class="col-md-4">.col-md-4div>
    <div class="col-md-8">.col-md-8div>
  div>
  <div class="row">
    <div class="col-md-4">.col-md-4div>
    <div class="col-md-4">.col-md-4div>
    <div class="col-md-4">.col-md-4div>
  div>
  <div class="row">
    <div class="col-md-3">.col-md-3div>
    <div class="col-md-6">.col-md-6div>
    <div class="col-md-3">.col-md-3div>
  div>
div>

基本用法

列组合简单理解就是更改数字来合并列(原则:列总和数不能超12),有点类似于表格的colspan属性

<div class="container">
  <div class="row">
    <div class="col-md-4">.col-md-4div>
    <div class="col-md-8">.col-md-8div>
  div>
  <div class="row">
    <div class="col-md-4">.col-md-4div>
    <div class="col-md-4">.col-md-4div>
    <div class="col-md-4">.col-md-4div>
  div>
  <div class="row">
    <div class="col-md-3">.col-md-3div>
    <div class="col-md-6">.col-md-6div>
    <div class="col-md-3">.col-md-3div>
 div>
div>

列偏移

只需要在列元素上添加类名“col-md-offset-*”(其中星号代表要偏移的列组合数),那么具有这个类名的列就会向右偏移。
例如,你在列元素上添加“col-md-offset-4”,表示该列向右移动4个列的宽度。

<div class="container">
<div class="row">
<div class="col-md-4">.col-md-4div>
<div class="col-md-2 col-md-offset-4">列向右移动四列的间距div>
<div class="col-md-2">.col-md-3div>
div>
<div class="row">
<div class="col-md-4">.col-md-4div>
<div class="col-md-4 col-md-offset-4">列向右移动四列的间距div>
div>
div>

注意:使用”col-md-offset-*”对列进行向右偏移时,要保证列与偏移列的总数不超过12,不然会致列断行显示

列排序

列排序其实就是改变列的方向,就是改变左右浮动,并且设置浮动的距离。在Bootstrap框架的网格系统中是通过添加类名“col-md-push-”和“col-md-pull-” (其中星号代表移动的列组合数)。

<div class="container">
  <div class="row">
    <div class="col-md-4">.col-md-4div>
    <div class="col-md-8">.col-md-8div>
  div>
div>

“col-md-4”居左,“col-md-8”居右,如果要互换位置,需要将“col-md-4”向右移动8个列的距离,也就是8个offset ,也就是在“

”添加类名“col-md-push-8”,调用其样式。
也要将“col-md-8”向左移动4个列的距离,也就是4个offset,在“
”上添加类名“col-md-pull-4”。

列的嵌套

Bootstrap框架的网格系统还支持列的嵌套。你可以在一个列中添加一个或者多个行(row)容器,然后在这个行容器中插入列(像前面介绍的一样使用列)。但在列容器中的行容器(row),宽度为100%时,就是当前外部列的宽度。

<div class="container">
    <div class="row">
        <div class="col-md-8">
        我的里面嵌套了一个网格
            <div class="row">
            <div class="col-md-6">col-md-6div>
            <div class="col-md-6">col-md-6div>
          div>
        div>
    <div class="col-md-4">col-md-4div>
    div>
    <div class="row">
        <div class="col-md-4">.col-md-4div>
    <div class="col-md-8">
    我的里面嵌套了一个网格
        <div class="row">
          <div class="col-md-4">col-md-4div>
          <div class="col-md-4">col-md-4div>
          <div class="col-md-4">col-md-4div>
        div>
    div>
    div>
div>

嵌套的列总数也需要遵循不超过12列。不然会造成末位列换行显示。

下拉菜单(基本用法)

在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件。当然,如果你使用的是未编译版本,在js文件夹下你能找到一个名为“dropdown.js”的文件。你也可以调用这个js文件。
因为Bootstrap的组件交互效果都是依赖于jQuery库写的插件,所以在使用bootstrap.min.js之前一定要先加载jquery.min.js才会生效果。

<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
下拉菜单
<span class="caret">span>
button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
   <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
   …
   <li role="presentation" class="divider">li>
   <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
ul>
div>

使用方法

  • 使用一个名为“dropdown”的容器包裹整个下拉菜单元素
<div class="dropdown">div>
  • 使用一个
data-toggle="dropdown"
  • 下拉菜单项使用一个ul列表,并且定义一个类名为“dropdown-menu”
    class="dropdown-menu">

Bootstrap框架中的下拉菜单组件,其下拉菜单项默认是隐藏的

下拉菜单(下拉分隔线)

在Bootstrap框架中的下拉菜单还提供了下拉分隔线,假设下拉菜单有两个组,那么组与组之间可以通过添加一个空的

  • ,并且给这个
  • 添加类名“divider”来实现添加下拉分隔线的功能。

     <div class="dropdown">
      <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
        下拉菜单
        <span class="caret">span>
      button>
      <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
        <li role="presentation" class="divider">li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
      ul>
    div> 

    下拉菜单(菜单标题)

    <div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
    下拉菜单
    <span class="caret">span>
    button>
    <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
    <li role="presentation" class="dropdown-header">第一部分菜单头部li>
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
    …
    <li role="presentation" class="divider">li>
    <li role="presentation" class="dropdown-header">第二部分菜单头部li>
    …
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
    ul>
    div>

    Bootstrap(笔记)_第11张图片

    下拉菜单(对齐方式)

    Bootstrap框架中下拉菜单默认是左对齐,如果你想让下拉菜单相对于父容器右对齐时,可以在“dropdown-menu”上添加一个“pull-right”或者“dropdown-menu-right”类名。

    <div class="dropdown">
      <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
      下拉菜单
      <span class="caret">span>
      button>
      <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="dropdownMenu1">ul>
    div>

    下拉菜单(菜单项状态)

    下拉菜单项的默认的状态(不用设置)有悬浮状态(:hover)和焦点状态(:focus)

    当前状态(.active)和禁用状态(.disabled)。这两种状态使用方法只需要在对应的菜单项上添加对应的类名:

    <div class="dropdown">
      <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
      下拉菜单
      <span class="caret">span>
      button>
      <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
        <li role="presentation" class="active"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
        ….
        <li role="presentation" class="disabled"><a role="menuitem" tabindex="-1" href="#">下拉菜单项a>li>
      ul>
    div>

    Bootstrap(笔记)_第12张图片

    按钮(按钮组)

    按钮组和下拉菜单组件一样,需要依赖于button.js插件才能正常运行。不过我们同样可以直接只调用bootstrap.js文件。因为这个文件已集成了button.js插件功能。

    使用一个名为“btn-group”的容器,把多个按钮放到这个容器中。

    <div class="btn-group">
      <button type="button" class="btn btn-default">
         <span class="glyphicon glyphicon-step-backward">span>
      button>
       …
      <button type="button" class="btn btn-default">
         <span class="glyphicon glyphicon-step-forward">span>
      button>
    div>

    除了可以使用

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

    <div class="collapse navbar-collapse example" >
          <ul class="nav navbar-nav">ul>
    div>

    窄屏时要显示的图标:

    反色导航条

    与默认的导航条相比,使用方法并无区别,只是将navbar-deafult类名换成navbar-inverse。其变化只是导航条的背景色和文本做了修改。

    <div class="navbar  navbar-inverse" role="navigation">
    <div class="nav bar-header">
          <a href="##" class="navbar-brand">慕课网a>
    div>
    <ul class="nav navbar-nav">
          <li class="active"><a href="">首页a>li>
          <li><a href="">教程a>li>
          <li><a href="">关于我们a>li>
    ul>
    div>

    分页导航(带页码的分页导航)

    在Bootstrap框架中使用的是ul>li>a这样的结构,在ul标签上加入pagination方法:

    <ul class="pagination">
      <li><a href="#">«第一页a>li>
      <li><a href="#">11a>li>
      <li><a href="#">12a>li>
      <li class="active"><a href="#">13a>li>
      <li><a href="#">14a>li>
      <li><a href="#">15a>li>
      <li class="disabled"><a href="#">最后一页»a>li>
    ul> 

    Bootstrap(笔记)_第23张图片

    • 通过“pagination-lg”让分页导航变大
    • 通过“pagination-sm”让分页导航变小
    <ul class="pagination pagination-lg">ul>
    <ul class="pagination">ul>
    <ul class="pagination pagination-sm">ul>

    分页导航(翻页分页导航)

    这种分页导航是看不到具体的页码,只会提供一个“上一页”和“下一页”的按钮。
    在实际使用中,为ul标签加入pager类:

    <ul class="pager">
       <li><a href="#">«上一页a>li>
       <li><a href="#">下一页»a>li>
    ul>

    默认情况之下,翻页分页导航是居中显示,但有的时候我们需要一个居左,一个居右。Bootstrap框架提供了两个样式:

    • previous:让“上一步”按钮居左
    • next:让“下一步”按钮居右
    <ul class="pager">
       <li class="previous"><a href="#">«上一页a>li>
       <li class="next"><a href="#">下一页»a>li>
    ul>

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

    <ul class="pager">
      <li class="disabled"><span>«上一页span>li>
      <li><a href="#">下一页»a>li>
    ul>

    标签


    可以使用span这样的行内标签:

    <h3>Example heading <span class="label label-default">Newspan>h3>

    和按钮元素button类似,label样式也提供了多种颜色:

    • label-deafult:默认标签,深灰色
    • label-primary:主要标签,深蓝色
    • label-success:成功标签,绿色
    • label-info:信息标签,浅蓝色
    • label-warning:警告标签,橙色
    • label-danger:错误标签,红色

    徽章

    常出现的是一些系统发出的信息,比如你登录你的twitter后,如果你信息没有看,系统会告诉你有多少信息未读:

    使用span标签来制作,然后为他加入badge类:

    <a href="#">Inbox <span class="badge">42span>a>

    可以将徽章与按钮或者导航之类配合使用。在徽章组件中没有提供多种颜色风格的效果。

    缩略图

    通过“thumbnail”样式配合bootstrap的网格系统来实现。

    <div class="container">
        <div class="row">
            <div class="col-xs-6 col-md-3">
                "#" class="thumbnail">
                    "http://img.mukewang.com/5434eba100014fe906000338.png" style="height: 180px; width: 100%; display: block;" alt="">
                
            div>
        …
        div>
    div>

    上面的结构表示的是在宽屏幕(可视区域大于768px)的时候,一行显示四个缩略图
    Bootstrap(笔记)_第24张图片
    在窄屏(可视区域小于768px)的时候,一行只显示两个缩略图
    Bootstrap(笔记)_第25张图片

    还可以让缩略图配合标题、描述内容,按钮等:
    Bootstrap(笔记)_第26张图片
    在仅有缩略图的基础上,添加了一个div名为“caption“的容器,在这个容器中放置其他内容,比如说标题,文本描述,按钮等:

    <div class="container">
        <div class="row">
            <div class="col-xs-6 col-md-3">
                <a href="#" class="thumbnail">
                    <img src="http://a.hiphotos.baidu.com/image/w%3D400/sign=c56d7638b0b7d0a27bc9059dfbee760d/3b292df5e0fe9925d46873da36a85edf8cb171d7.jpg" style="height: 180px; width: 100%; display: block;" alt="">
                a>
                <div class="caption">
                    <h3>Bootstrap框架系列教程h3>
                    <p>Bootstrap框架是一个优秀的前端框,就算您是一位后端程序员或者你是一位不懂设计的前端人员,你也能依赖于Bootstrap制作做优美的网站...p>
                    <p>
                        <a href="##" class="btn btn-primary">开始学习a>
                        <a href="##" class="btn btn-info">正在学习a>
                    p>
                div>
            div>
        …
        div>
    div>

    警示框

    告诉用户操作成功、操作错误、提示或者警告等。

    在默认情况之下,提供了四种不同的警示框效果:

    • 成功警示框:告诉用用户操作成功,在“alert”样式基础上追加“alert-success”样式,具体呈现的是背景、边框和文本都是绿色;
    • 信息警示框:给用户提供提示信息,在“alert”样式基础上追加“alert-info”样式,具体呈现的是背景、边框和文本都是浅蓝色;
    • 警告警示框:提示用户小心操作(提供警告信息),在“alert”样式基础上追加“alert-warning”样式,具体呈现的是背景、边框、文本都是浅黄色;
    • 错误警示框:提示用户操作错误,在“alert”样式基础上追加“alert-danger”样式,具体呈现的是背景、边框和文本都是浅红色。
      Bootstrap(笔记)_第27张图片

    只需要在“alert”基础上追加对应的类名:

    <div class="alert alert-success" role="alert">恭喜您操作成功!div>
    <div class="alert alert-info" role="alert">请输入正确的密码div>
    <div class="alert alert-warning" role="alert">您已操作失败两次,还有最后一次机会div>
    <div class="alert alert-danger" role="alert">对不起,您输入的密码有误div>

    可关闭的警示框

    1. 需要在基本警示框“alert”的基础上添加“alert-dismissable”样式。
    2. 在button标签中加入class=”close”类,实现警示框关闭按钮的样式。
    3. 要确保关闭按钮元素上设置了自定义属性:“data-dismiss=”alert””
    <div class="alert alert-success alert-dismissable" role="alert">
        
        恭喜您操作成功!
    div>

    警示框的链接
    在警示框中加入链接地址:给警示框加的链接添加一个名为“alert-link”的类名。

    <div class="alert alert-success" role="alert">
        <strong>Well done!strong> 
        You successfully read 
        <a href="#" class="alert-link">this important alert messagea>
        .
    div>
    <div class="alert alert-info" role="alert">
        <strong>Heads up!strong>
         This 
         <a href="#" class="alert-link">alert needs your attentiona>
         , but it's not super important.
    div>
    <div class="alert alert-warning" role="alert">
        <strong>Warning!strong>
         Better check yourself, you're 
         <a href="#" class="alert-link">not looking too gooda>
         .
    div>
    <div class="alert alert-danger" role="alert">
        <strong>Oh snap!strong>
        <a href="#" class="alert-link">Change a few things upa>
         and try submitting again.
    div>

    Bootstrap(笔记)_第28张图片

    进度条

    提供了两个容器,外容器使用“progress”样式,子容器使用“progress-bar”样式。其中progress用来设置进度条的容器样式,而progress-bar用于限制进度条的进度:

    <div class="progress">
           <div class="progress-bar" style="width:40%">div>
    div>

    我们可以将结构做得更好些(语义化更友好些):

    <div class="progress">
        <div class="progress-bar" style="width:40%;" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
            class="sr-only">40% Complete
        div>
    div>

    1、role属性作用:告诉搜索引擎这个div的作用是进度条。

    2、aria-valuenow=”40”属性作用:当前进度条的进度为40%。

    3、aria-valuemin=”0”属性作用:进度条的最小值为0%。

    4、aria-valuemax=”100”属性作用:进度条的最大值为100%。

    彩色进度条

    • progress-bar-info:表示信息进度条,进度条颜色为蓝色
    • progress-bar-success:表示成功进度条,进度条颜色为绿色
    • progress-bar-warning:表示警告进度条,进度条颜色为黄色
    • progress-bar-danger:表示错误进度条,进度条颜色为红色

    只需要在基础的进度上增加对应的类名:

    <div class="progress">
        <div class="progress-bar progress-bar-success" style="width:40%">div>
    div>
    <div class="progress">
        <div class="progress-bar progress-bar-info" style="width:60%">div>
    div>
    <div class="progress">
        <div class="progress-bar progress-bar-warning" style="width:80%">div>
    div>
    <div class="progress">
        <div class="progress-bar progress-bar-danger" style="width:50%">div>
    div>

    Bootstrap(笔记)_第29张图片

    条纹进度条

    只需要在进度条的容器“progress”基础上增加类名“progress-striped”:

    <div class="progress progress-striped">
        <div class="progress-bar progress-bar-success" style="width:40%">div>
    div>
    <div class="progress progress-striped">
        <div class="progress-bar progress-bar-info" style="width:60%">div>
    div>
    <div class="progress progress-striped">
        <div class="progress-bar progress-bar-warning" style="width:80%">div>
    div>
    <div class="progress progress-striped">
        <div class="progress-bar progress-bar-danger" style="width:50%">div>
    div>

    动态条纹进度条

    在进度条“progress progress-striped”两个类的基础上再加入“active”类名:

    <div class="progress progress-striped active">
        <div class="progress-bar progress-bar-success" style="width:40%">div>
    div>

    层叠进度条

    <div class="progress">
        <div class="progress-bar progress-bar-success" style="width:20%">div>
        <div class="progress-bar progress-bar-info" style="width:10%">div>
        <div class="progress-bar progress-bar-warning" style="width:30%">div>
        <div class="progress-bar progress-bar-danger" style="width:15%">div>
    div>


    除了层叠彩色进度条之外,还可以层叠条纹进度条

    带Label的进度条

    只需要在进度条中添加你需要的值:

    <div class="progress">
        <div class="progress-bar progress-bar-success"  role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width:20%">20%div>
    div>

    Bootstrap(笔记)_第30张图片

    媒体对象

    在Web页面或者说移动页面制作中,常常看到这样的效果,左边居左(或居右),内容居右(或居左)排列:
    Bootstrap(笔记)_第31张图片

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

    • 媒体对像的容器:常使用“media”类名表示,用来容纳媒体对象的所有内容
    • 媒体对像的对象:常使用“media-object”表示,就是媒体对象中的对象,常常是图片
    • 媒体对象的主体:常使用“media-body”表示,就是媒体对像中的主体内容,可以是任何元素,常常是图片侧边内容
    • 媒体对象的标题:常使用“media-heading”表示,就是用来描述对象的一个标题,此部分可选
      Bootstrap(笔记)_第32张图片

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

    <div class="media">
        <a class="pull-left" href="#">
            <img class="media-object" src="http://img.mukewang.com/52e1d29d000161fe06000338-300-170.jpg" alt="...">
        a>
        <div class="media-body">
            <h4 class="media-heading">系列:十天精通CSS3h4>
            <div>全方位深刻详解CSS3模块知识,经典案例分析,代码同步调试,让网页穿上绚丽装备!div>
        div>
    div>

    媒体对象的嵌套

    Bootstrap(笔记)_第33张图片
    这里有三个媒体对象,只不过是一个嵌套在另一个的里面。

    在Bootstrap框架中,只需要将另一个媒体对象结构放置在媒体对象的主体内“media-body”:

    <div class="media">
        <a class="pull-left" href="#">
            <img class="media-object" src="…" alt="...">
        a>
        <div class="media-body">
            <h4 class="media-heading">Media Headingh4>
            <div>div>
            <div class="media">
                <a class="pull-left" href="#">
                    <img class="media-object" src="…" alt="...">
                a>
                <div class="media-body">
                    <h4 class="media-heading">Media Headingh4>
                    <div>div>
                    <div class="media">
                        <a class="pull-left" href="#">
                            <img class="media-object" src="…" alt="...">
                        a>
                        <div class="media-body">
                            <h4 class="media-heading">Media Headingh4>
                            <div>...div>
                        div>
                    div>
                div>
            div>
        div>
    div>

    媒体对象列表

    Bootstrap(笔记)_第34张图片
    在写结构的时候可以使用ul,并且在ul上添加类名“media-list”,而在li上使用“media”:

    <ul class="media-list">
        <li class="media">
            <a class="pull-left" href="#">
                <img class="media-object" src=" " alt="...">
            a>
            <div class="media-body">
                <h4 class="media-heading">Media Headerh4>
                <div>div>
            div>
        li>
        <li class="media">li>
        <li class="media">li>
    ul>

    基础列表组

    <ul class="list-group">
        <li class="list-group-item">揭开CSS3的面纱li>
        <li class="list-group-item">CSS3选择器li>
        <li class="list-group-item">CSS3边框li>
        <li class="list-group-item">CSS3背景li>
        <li class="list-group-item">CSS3文本li>
    ul>

    Bootstrap(笔记)_第35张图片

    带徽章的列表组

    就是将Bootstrap框架中的徽章组件和基础列表组结合在一起的一个效果。只需要在“list-group-item”中添加徽章组件“badge”:

    <ul class="list-group">
        <li class="list-group-item">
            <span class="badge">13span>揭开CSS3的面
        li>
        <li class="list-group-item">
            <span class="badge">456span>CSS3选择器
        li>
        <li class="list-group-item">
            <span class="badge">892span>CSS3边框
        li>
        <li class="list-group-item">
            <span class="badge">90span>CSS3背景
        li>
        <li class="list-group-item">
            <span class="badge">1290span>CSS3文本
        li>
    ul>

    Bootstrap(笔记)_第36张图片

    带链接的列表组

    <ul class="list-group">
        <li class="list-group-item">
            <a href="##">揭开CSS3的面a>
        li>
        <li class="list-group-item">
            <a href="##">CSS3选择器a>
        li>
        ...
    ul>

    这样做,链接的点击区域只在文本上有效。

    在列表项的任何区域都具备可点击:

    <div class="list-group">
        <a href="##" class="list-group-item">图解CSS3a>
        <a href="##" class="list-group-item"><span class="badge">220span>Sass教程a>
        <a href="##" class="list-group-item">玩转Bootstrapa>
    div>

    自定义列表组

    Bootstrap(笔记)_第37张图片

    列表项的状态设置

    • active:表示当前状态
    • disabled:表示禁用状态
    <div class="list-group">
        <a href="##" class="list-group-item active"><span class="badge">5902span>图解CSS3a>
        <a href="##" class="list-group-item"><span class="badge">15902span>W3cplusa>
        <a href="##" class="list-group-item"><span class="badge">59020span>慕课网a>
        <a href="##" class="list-group-item disabled"><span class="badge">0span>Sass中国a>
    div>

    多彩列表组

    • list-group-item-success:成功,背景色绿色
    • list-group-item-info:信息,背景色蓝色
    • list-group-item-warning:警告,背景色为黄色
    • list-group-item-danger:错误,背景色为红色

      只需要在“list-group-item”基础上增加对应的类名:

    <div class="list-group">
        <a href="##" class="list-group-item active"><span class="badge">5902span>图解CSS3a>
        <a href="##" class="list-group-item list-group-item-success"><span class="badge">15902span>W3cplusa>
        <a href="##" class="list-group-item list-group-item-info"><span class="badge">59020span>慕课网a>
        <a href="##" class="list-group-item list-group-item-warning"><span class="badge">0span>Sass中国a>
        <a href="##" class="list-group-item list-group-item-danger"><span class="badge">10span>Mobile教程a>
    div>

    Bootstrap(笔记)_第38张图片

    基础面板

    <div class="panel panel-default">
        <div class="panel-body">我是一个基础面板,带有默认主题样式风格div>
    div>

    带有头和尾的面板

    <div class="panel panel-default">
        <div class="panel-heading">图解CSS3div>
        <div class="panel-body">…div>
        <div class="panel-footer">作者:大漠div>
    div>

    Bootstrap(笔记)_第39张图片

    彩色面板

    • panel-primary:重点蓝
    • panel-success:成功绿
    • panel-info:信息蓝
    • panel-warning:警告黄
    • panel-danger:危险红

    只需要在panel的类名基础上增加自己需要的类名:

    <div class="panel panel-default">
        <div class="panel-heading">图解CSS3div>
        <div class="panel-body">…div>
        <div class="panel-footer">作者:大漠div>
    div>
    <div class="panel panel-primary">…div>
    <div class="panel panel-success">…div>
    <div class="panel panel-info">…div>
    <div class="panel panel-warning">…div>
    <div class="panel panel-danger">…div>

    Bootstrap(笔记)_第40张图片

    面板中嵌套表格

    <div class="panel panel-default">
        <div class="panel-heading">图解CSS3div>
        <div class="panel-body">
        <p>详细讲解了选择器、边框、背景、文本、颜色、盒模型、伸缩布局盒模型、多列布局、渐变、过渡、动画、媒体、响应Web设计、Web字体等主题下涵盖的所有CSS3新特性
        p>
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>th>
                    <th>我的书th>
                    <th>发布时间th>
                tr>
            thead>
            <tbody>
                <tr>
                    <td>1td>
                    <td>《图解CSS3》td>
                    <td>2014-07-10td>
                tr>
            tbody>
        table>
        div>
        <div class="panel-footer">作者:大漠div>
    div>

    Bootstrap(笔记)_第41张图片

    表格和面板边缘不需要有任何的间距:

    <div class="panel panel-default">
        <div class="panel-heading">图解CSS3div>
        <div class="panel-body">…div>
        
  • class="table table-bordered">…
    <div class="panel-footer">作者:大漠div> div>

    Bootstrap(笔记)_第42张图片

    面板中嵌套列表组

    <div class="panel panel-default">
        <div class="panel-heading">图解CSS3div>
        <div class="panel-body">
            <p>详细讲解了选择器、边框、背景、文本、颜色、盒模型、伸缩布局盒模型、多列布局、渐变、过渡、动画、媒体、响应Web设计、Web字体等主题下涵盖的所有CSS3新特性
            p>
            <ul class="list-group">
                <li class="list-group-item">我是列表项li>
                <li class="list-group-item">我是列表项li>
                <li class="list-group-item">我是列表项li>
            ul>
        div>
        <div class="panel-footer">作者:大漠div>
    div>

    Bootstrap(笔记)_第43张图片

    去除间距:

    <div class="panel panel-default">
        <div class="panel-heading">图解CSS3div>
        <div class="panel-body">div>
        <ul class="list-group">
            <li class="list-group-item">我是列表项li>
            <li class="list-group-item">我是列表项li>
            <li class="list-group-item">我是列表项li>
        ul>
        <div class="panel-footer">作者:大漠div>
    div>

    导入JavaScript插件

    一次性导入:

    <!—导入jQuery版本库,因为Bootstrap的JavaScript插件依赖于jQuery -->
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js">script>
    <!—- 一次性导入所有BootstrapJavaScript插件(压缩版本) -->
    <script src="js/bootstrap.min.js">script>

    单独导入:
    ☑ 动画过渡(Transitions):对应的插件文件“transition.js”

    ☑ 模态弹窗(Modal):对应的插件文件“modal.js”

    ☑ 下拉菜单(Dropdown):对应的插件文件“dropdown.js”

    ☑ 滚动侦测(Scrollspy):对应的插件文件“scrollspy.js”

    ☑ 选项卡(Tab):对应的插件文件“tab.js”

    ☑ 提示框(Tooltips):对应的插件文件“tooltop.js”

    ☑ 弹出框(Popover):对应的插件文件“popover.js”

    ☑ 警告框(Alert):对应的插件文件“alert.js”

    ☑ 按钮(Buttons):对应的插件文件“button.js”

    ☑ 折叠/手风琴(Collapse):对应的插件文件“collapse.js”

    ☑ 图片轮播Carousel:对应的插件文件“carousel.js”

    ☑ 自动定位浮标Affix:对应的插件文件“affix.js”

    可到github去下载

    动画过渡

    Bootstrap框架中以下组件使用了过渡动画效果:

    ☑ 模态弹出窗(Modal)的滑动和渐变效果;

    ☑ 选项卡(Tab)的渐变效果;

    ☑ 警告框(Alert)的渐变效果;

    ☑ 图片轮播(Carousel)的滑动效果。

    模态弹出框

    这种弹出框效果在大多数 Web 网站的交互中都可见。比如点击一个按钮弹出一个框,弹出的框可能是一段文件描述,也可能带有按钮操作,也有可能弹出的是一张图片。

    • 弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮
    • 弹出框主体,一般使用“modal-body”表示,弹出框的主要内容
    • 弹出框脚部,一般使用“modal-footer”表示,主要放置操作按钮
      Bootstrap(笔记)_第44张图片
    <div class="modal show">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×span><span class="sr-only">Closespan>button>
                    <h4 class="modal-title">模态弹出窗标题h4>
                div>
                <div class="modal-body">
                    <p>模态弹出窗主体内容p>
                div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">关闭button>
                    <button type="button" class="btn btn-primary">保存button>
                div>
            div>
        div>
    div>

    模态弹出窗宽度是自适应的,而且modal-dialog水平居中。

    Bootstrap框架为模态弹出窗提供了不同尺寸,一个是大尺寸样式“modal-lg”,另一个是小尺寸样式“modal-sm”。其结构上稍做调整:

    
    <div class="modal fade bs-example-modal-lg" tabindex="-1"role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
        <divclass="modal-dialog modal-lg">
           <divclass="modal-content"> ... div>
        div>
    div>
    
    <divclass="modal fade bs-example-modal-sm"tabindex="-1"role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
        <divclass="modal-dialog modal-sm">
           <divclass="modal-content"> ... div>
        div>
    div>

    模态弹出窗在页面加载完成时,是被隐藏在页面中的,只有通过一定的动作(事件)才能触发模态弹出窗的显示。

    方法一:模态弹出窗声明,只需要自定义两个必要的属性:data-toggle和data-target(bootstrap中声明式触发方法一般依赖于这些自定义的data-xxx 属性。比如data-toggle=”” 或者 data-dismiss=”“):

    
    <button type="button" data-toggle="modal" data-target="#mymodal" class="btn btn-primary">点击我会弹出模态弹出窗button>
    
    <div class="modal fade" id="mymodal">
        <div class="modal-dialog">
            <div class="modal-content">
            
            div>
        div>
    div>

    方法二:触发模态弹出窗也可以是一个链接元素,那么可以使用链接元素自带的href属性替代data-target属性:

    
    <a data-toggle="modal" href="#mymodal" class=" btn btn-primary" >点击我会弹出模态弹出窗a>
    
    <div class="modal fade"  id="mymodal" >
        <div class="modal-dialog" >
            <div class="modal-content" >
            
            div>
        div>
    div>

    建议还是使用统一使用data-target的方式来触发。

    可通过给“.modal”增加类名“fade”为模态弹出框增加一个过渡动画效果:

    <button class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-sm">
    小的模态弹出窗
    button><div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
        <div class="modal-dialog modal-sm">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×span><span class="sr-only">Closespan>button>
                    <h4 class="modal-title">模态弹出窗标题h4>
                div>
                <div class="modal-body">
                    <p>模态弹出窗主体内容p>
                div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">关闭button>
                    <button type="button" class="btn btn-primary">保存button>
                div>
            div>
        div>
    div>

    除了通过data-toggle和data-target来控制模态弹出窗之外,Bootstrap框架针对模态弹出框还提供了其他自定义data-属性,来控制模态弹出窗:
    Bootstrap(笔记)_第45张图片

    JavaScript触发方法
    通过给一个元素一个事件,来触发。比如说给一个按钮一个单击事件,然后触发模态弹出窗:

    
    <button class="btn btn-primary" type="button">点击我button>
    
    <div class="modal" id="mymodal">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×span><span class="sr-only">Closespan>button>
                    <h4 class="modal-title">模态弹出窗标题h4>
                div>
                <div class="modal-body">
                    <p>模态弹出窗主体内容p>
                div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">关闭button>
                    <button type="button" class="btn btn-primary">保存button>
                div>
            div>
        div>
    div>

    JavaScript触发的弹出窗代码:

    $(function(){
      $(".btn").click(function(){
        $("#mymodal").modal();
      });
    });

    使用JavaScript触发模态弹出窗时,Bootstrap框架提供了一些设置,主要包括属性设置、参数设置和事件设置:
    属性设置
    Bootstrap(笔记)_第46张图片
    比如你不想让用户按ESC键关闭模态弹出窗,你就可以这样做:

    $(function(){
        $(".btn").click(function(){
            $("#mymodal").modal({
                keyboard:false
            });
        });
    });

    参数设置:
    Bootstrap(笔记)_第47张图片
    事件设置:
    Bootstrap(笔记)_第48张图片

    调用方法:

    $('#myModal').on('hidden.bs.modal', function (e) {
        // 处理代码...
    })

    你可能感兴趣的:(Bootstrap)