快速掌握-bootstrap

笔记-bootstrap

是什么

bootstrap 前端开发框架,可以快速的搭建 web 页面。

框架分为响应式布局 和 非响应式布局。 响应式布局通过 不定宽 和media 查询实现,非响应式布局通过 12 列栅格化形成 形成类似的表格布局。 非响应式布局默认最大宽度为 1170 px。

说是页面框架,就需要一些固定布局和样式的支持, 常用的模块

  1. 弹框
  2. 表单
  3. 按钮

布局

分为 响应式布局 和 非响应式布局。

  1. 响应式布局(流式布局):会随着浏览器的窗口变化而调整页面布局,会自动 撑满父元素 div。默认 类名后添加 "-fluid"

  2. 非响应式布局: 不会随着浏览器的窗口变化而调整页面布局,默认是 12 列 栅格化布局,就是把页面 分成 12 列,通过这个 12 列的容器,可以形成类似表格的布局方式。

  3. 非响应式布局默认最大宽度是 1170px; 响应式的宽度 默认是 100%; 在 bootstrap 中当页面的宽度小于 760px 的时候,会自动调整为宽度 100% 实现垂直方向的堆叠效果。

  4. 非响应式布局适合 内容比较集中,只有一块内容区域的页面

  5. 响应式布局适合 内容比较分散的页面

<div class="container"></div>

// row
<div class="row">
  <div class="col-xs-12 col-md-8">.col-md-8</div>
  <div class="col-xs-6 col-md-4">.col-md-4</div>
  <div class="col-xs-6 col-md-offset-3">33333</div>
</div>

// 栅格的嵌套
<div class="row show-grid">
  <div class="span6">
    <div class="row">
      <div class="span9">A</div>
    </div>
  </div>
  <div class="span6">C</div>
</div>

// 栅格偏移offset
<div class="row show-grid">
  <div class="span3">A</div>
  <div class="span3 offset3">A</div>
</div>

// 对齐
<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
<p class="text-justify">Justified text.</p>
<p class="text-nowrap">No wrap text.</p>
<p class="text-lowercase">Lowercased text.</p>
<p class="text-uppercase">Uppercased text.</p>
<p class="text-capitalize">Capitalized text.</p>

// 列表:(标签) 无序:ul 有序:ol 列表项:li
无样式列表(类名):unstyled(只对直接子节点有效)
行内列表(类名):inline(效果是让列表同行显示,并有间隔);

<ul class="list-inline">
  <li>...</li>
</ul>

父:dl 着重/标题:dt 普通:dd
水平描述(类名,加到父):dl-horizontal(效果是着重右对齐,普通左对齐,着重和描述对应的开始行在同一行)
<dl class="dl-horizontal">
  <dt>...</dt>
  <dd>...</dd>
</dl>

// 自动截断 text-overflow

文本

文本前缀:text -
背景前缀:bg-

// 文本
<p class="text-muted">...</p>
<p class="text-primary">...</p>
<p class="text-success">...</p>
<p class="text-info">...</p>
<p class="text-warning">...</p>
<p class="text-danger">...</p>

// 背景色
<p class="bg-primary">...</p>
<p class="bg-success">...</p>
<p class="bg-info">...</p>
<p class="bg-warning">...</p>
<p class="bg-danger">...</p>

// 居中
<div class="center-block">...</div>

图片

<img src="..." class="img-responsive" alt="Responsive image">
<img src="..." alt="..." class="img-rounded">
<img src="..." alt="..." class="img-circle">
<img src="..." alt="..." class="img-thumbnail">

// 缩略图
<a href="#" class="thumbnail">
    <img src="..." alt="...">
</a>

表格

// tbody内部,斑马样式,奇数行加重颜色:table-striped
// 表格边框:table-bordered
// 鼠标悬停样式:table-hover
// 表格内部更紧凑(行高更少):table-condensed
<table class="table">
    <!-- On cells (`td` or `th`) -->
    <tr>
      <td class="active">...</td>
      <td class="success">...</td>
      <td class="warning">...</td>
      <td class="danger">...</td>
      <td class="info">...</td>
    </tr>
</table>

表单

// 非内联
<div class="form-group">
  <label for="exampleInputEmail1">邮箱地址</label>
  <input
    type="email"
    class="form-control"
    id="exampleInputEmail1"
    placeholder="Email"
  />
</div>

// 内联
<form class="form-inline">
  <div class="form-group">
    <label for="exampleInputEmail2">Email</label>
    <input
      type="email"
      class="form-control"
      id="exampleInputEmail2"
      placeholder="jane.doe@example.com"
    />
  </div>
  <button type="submit" class="btn btn-default">Send invitation</button>
</form>

// 输入框 input-group-sm
<div class="input-group input-group-lg">
  <span class="input-group-addon" id="basic-addon1">@</span>
  <input
    type="text"
    class="form-control"
    placeholder="Username"
    aria-describedby="basic-addon1"
  />
</div>

// radio
<label class="checkbox-inline">
  <input type="checkbox" id="inlineCheckbox1" value="option1" /> 1
</label>
<label class="checkbox-inline">
  <input type="checkbox" id="inlineCheckbox2" value="option2" /> 2
</label>
<label class="checkbox-inline">
  <input type="checkbox" id="inlineCheckbox3" value="option3" /> 3
</label>

// 下拉框
<select class="form-control">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
</select>

// 禁用状态
<input
  class="form-control"
  id="disabledInput"
  type="text"
  placeholder="Disabled input here..."
  disabled
/>

// 控制尺寸
<input class="form-control input-lg" type="text" placeholder=".input-lg" />
<input class="form-control" type="text" placeholder="Default input" />
<input class="form-control input-sm" type="text" placeholder=".input-sm" />

<select class="form-control input-lg">
  ...
</select>
<select class="form-control">
  ...
</select>
<select class="form-control input-sm">
  ...
</select>

按钮

btn btn-default btn-lg (最大) btn btn-primary btn-sm (小) btn btn-success
btn-xs (超小) btn btn-info btn-block(块级) btn btn-danger active(激活) btn
btn-warning btn btn-link disabled="disabled" (禁用) // 关闭按钮
<button type="button" class="close" aria-label="Close">
  <span aria-hidden="true">&times;</span>
</button>

// 三角符号
<span class="caret"></span>

// 按钮组
<div class="btn-group btn-group-lg" role="group" aria-label="...">...</div>
<div class="btn-group" role="group" aria-label="...">...</div>
<div class="btn-group btn-group-sm" role="group" aria-label="...">...</div>
<div class="btn-group btn-group-xs" role="group" aria-label="...">...</div>

小标签

// 小提示
<span class="label label-default">Default</span>
<span class="label label-primary">Primary</span>
<span class="label label-success">Success</span>
<span class="label label-info">Info</span>
<span class="label label-warning">Warning</span>
<span class="label label-danger">Danger</span>

// 小标签
<a href="#">Inbox <span class="badge">42</span></a>

// 警告框
<div class="alert alert-success alert-dismissible" role="alert">
  ...
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span>
  </button>
</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>

浮动

<div class="pull-left">...</div>
<div class="pull-right">...</div>

<div class="clearfix">...</div>

显示隐藏

<div class="show">...</div>
<div class="hidden">...</div>

字体图标

<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>

<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>

导航

// 导航 nav-pills nav-stacked nav-justified
<ul class="nav nav-tabs">
  <li role="presentation" class="active"><a href="#">Home</a></li>
  <li role="presentation" class="disabled"><a href="#">Profile</a></li>
  <li role="presentation"><a href="#">Messages</a></li>
</ul>

// 导航组件 navbar-fixed-top(固定顶部) navbar-fixed-bottom(固定底部)
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">
        <img alt="Brand" src="..." />
      </a>
    </div>
    <form class="navbar-form navbar-left" role="search">
      <div class="form-group">
        <input type="text" class="form-control" placeholder="Search" />
      </div>
      <button type="submit" class="btn btn-default">Submit</button>
    </form>
  </div>
</nav>

面包屑

<ol class="breadcrumb">
  <li><a href="#">Home</a></li>
  <li><a href="#">Library</a></li>
  <li class="active">Data</li>
</ol>

分页

// 分页 pagination-lg pagination-sm
<nav aria-label="Page navigation">
  <ul class="pagination pagination-lg">
    <li class="disabled">
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
      </a>
    </li>
    <li><a href="#">1</a></li>
    <li><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="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
      </a>
    </li>
  </ul>
</nav>

面板

<div class="panel panel-default">
  <div class="panel-heading">Panel heading without title</div>
  <div class="panel-body">Panel content</div>
</div>

Well

// well-lg well-sm
<div class="well">...</div>

iframe 自适应

<!-- 16:9 aspect ratio -->
<div class="embed-responsive embed-responsive-16by9">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

<!-- 4:3 aspect ratio -->
<div class="embed-responsive embed-responsive-4by3">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

进度条

// progress-bar-success progress-bar-info progress-bar-warning
progress-bar-danger // progress-bar-striped // 多个进度条
<div class="progress">
  <div
    class="progress-bar progress-bar-success"
    role="progressbar"
    aria-valuenow="60"
    aria-valuemin="0"
    aria-valuemax="100"
    style="width: 60%;"
  >
    60%
  </div>
</div>

// 单个进度条
<div class="progress">
  <div class="progress-bar progress-bar-success" style="width: 35%">
    <span class="sr-only">35% Complete (success)</span>
  </div>
  <div
    class="progress-bar progress-bar-warning progress-bar-striped"
    style="width: 20%"
  >
    <span class="sr-only">20% Complete (warning)</span>
  </div>
  <div class="progress-bar progress-bar-danger" style="width: 10%">
    <span class="sr-only">10% Complete (danger)</span>
  </div>
</div>

弹出框

// bs-example-modal-lg bs-example-modal-sm

<button
  type="button"
  class="btn btn-primary btn-lg"
  data-toggle="modal"
  data-target="#myModal"
>
  弹出框
</button>

<!-- 弹框 -->
<div
  class="modal fade bs-example-modal-sm"
  id="myModal"
  tabindex="-1"
  role="dialog"
  aria-labelledby="myModalLabel"
>
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button
          type="button"
          class="close"
          data-dismiss="modal"
          aria-label="Close"
        >
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">...</div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">
          Close
        </button>
        <button type="button" class="btn btn-primary">保存</button>
      </div>
    </div>
  </div>
</div>

<script>
  // 方法调用
  $("#myModal").modal("show");
  $("#myModal").modal("hide");
  $("#myModal").modal("toggle");
</script>

标签切换

<div>
  <!-- Nav tabs -->
  <ul class="nav nav-tabs" role="tablist">
    <li role="presentation" class="active">
      <a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a>
    </li>
    <li role="presentation">
      <a href="#profile" aria-controls="profile" role="tab" data-toggle="tab"
        >Profile</a
      >
    </li>
    <li role="presentation">
      <a href="#messages" aria-controls="messages" role="tab" data-toggle="tab"
        >Messages</a
      >
    </li>
    <li role="presentation">
      <a href="#settings" aria-controls="settings" role="tab" data-toggle="tab"
        >Settings</a
      >
    </li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div role="tabpanel" class="tab-pane active" id="home">...</div>
    <div role="tabpanel" class="tab-pane" id="profile">...</div>
    <div role="tabpanel" class="tab-pane" id="messages">...</div>
    <div role="tabpanel" class="tab-pane" id="settings">...</div>
  </div>
</div>

<script>
  // 方法调用
  $("#myTabs a").click(function (e) {
    e.preventDefault();
    $(this).tab("show");
  });
  $('#myTabs a[href="#profile"]').tab("show"); // Select tab by name
  $("#myTabs a:first").tab("show"); // Select first tab
  $("#myTabs a:last").tab("show"); // Select last tab
  $("#myTabs li:eq(2) a").tab("show"); // Select third tab (0-indexed)
</script>

颜色

txt-color-red bg-color-green bg-color-blue bg-color-orange bg-color-pink
no-padding 变绿:success 红:error 黄:warning 蓝:info

api 文档

  1. 官方文档 - https://v3.bootcss.com/
  2. w3cshool.cc - http://home.ustc.edu.cn/~xie1993/bootstrap/bootstrap-tutorial.html

总结

笔记方式总结,目的常用api 学习回顾

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,099评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,828评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,540评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,848评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,971评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,132评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,193评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,934评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,376评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,687评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,846评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,537评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,175评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,887评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,134评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,674评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,741评论 2 351

推荐阅读更多精彩内容