一、bootstrap栅格

Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

Bootstrap 网格系统(Grid System)的工作原理:

网格系统通过一系列包含内容的行和列来创建页面布局。下面列出了 Bootstrap 网格系统是如何工作的:

  • 行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距(padding)。
  • 使用行来创建列的水平组。
  • 内容应该放置在列内,且唯有列可以是行的直接子元素。
  • 预定义的网格类,比如 .row 和 .col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。
  • 列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。
  • 网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4

媒体查询

媒体查询是非常别致的"有条件的 CSS 规则"。它只适用于一些基于某些规定条件的 CSS。如果满足那些条件,则应用相应的样式。

Bootstrap 中的媒体查询允许您基于视口大小移动、显示并隐藏内容。下面的媒体查询在 LESS 文件中使用,用来创建 Bootstrap 网格系统中的关键的分界点阈值。

  1. /* 超小设备(手机,小于 768px) */
  2. /* Bootstrap 中默认情况下没有媒体查询 */
  3.  
  4. /* 小型设备(平板电脑,768px 起) */
  5. @media (min-width: @screen-sm-min) { ... }
  6.  
  7. /* 中型设备(台式电脑,992px 起) */
  8. @media (min-width: @screen-md-min) { ... }
  9.  
  10. /* 大型设备(大台式电脑,1200px 起) */
  11. @media (min-width: @screen-lg-min) { ... }

我们有时候也会在媒体查询代码中包含 max-width,从而将 CSS 的影响限制在更小范围的屏幕大小之内。

  1. @media (max-width: @screen-xs-max) { ... }
  2. @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
  3. @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
  4. @media (min-width: @screen-lg-min) { ... }

网格选项

下图总结了 Bootstrap 网格系统如何跨多个设备工作:

基本的网格结构:

  1. <div class="container">
  2. <div class="row">
  3. <div class="col-*-*"></div>
  4. <div class="col-*-*"></div>
  5. </div>
  6. <div class="row">...</div>
  7. </div>
  8. <div class="container">....

响应式的列重置

下实例包含了4个网格,但是我们在小设备浏览时无法确定网格显示的位置。

为了解决这个问题,可以使用 .clearfix class和 响应式实用工具来解决,如下面实例所示:

  1. <div class="container">
  2. <div class="row" >
  3. <div class="col-xs-6 col-sm-3"
  4. style="background-color: #dedef8;
  5. box-shadow: inset 1px -1px 1px #444, inset -1px 1px 1px #444;">
  6. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
  7. </div>
  8. <div class="col-xs-6 col-sm-3"
  9. style="background-color: #dedef8;box-shadow:
  10. inset 1px -1px 1px #444, inset -1px 1px 1px #444;">
  11. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
  12. eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
  13. enim ad minim veniam, quis nostrud exercitation ullamco laboris
  14. nisi ut aliquip ex ea commodo consequat.
  15. </p>
  16. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
  17. eiusmod tempor incididunt ut.
  18. </p>
  19. </div>
  20.  
  21. <div class="clearfix visible-xs"></div>
  22.  
  23. <div class="col-xs-6 col-sm-3"
  24. style="background-color: #dedef8;
  25. box-shadow:inset 1px -1px 1px #444, inset -1px 1px 1px #444;">
  26. <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco
  27. laboris nisi ut aliquip ex ea commodo consequat.
  28. </p>
  29. </div>
  30. <div class="col-xs-6 col-sm-3"
  31. style="background-color: #dedef8;box-shadow:
  32. inset 1px -1px 1px #444, inset -1px 1px 1px #444;">
  33. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
  34. eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
  35. enim ad minim
  36. </p>
  37. </div>
  38. </div>
  39. </div>

偏移列:为了在大屏幕显示器上使用偏移,请使用 .col-md-offset-* 类。这些类会把一个列的左外边距(margin)增加 * 列,其中 * 范围是从 1到 11

嵌套列:为了在内容中嵌套默认的网格,请添加一个新的 .row,并在一个已有的 .col-md-* 列内添加一组 .col-md-* 列。被嵌套的行应包含一组列,这组列个数不能超过12(其实,没有要求你必须占满12列)。

列排序:Bootstrap 网格系统另一个完美的特性,就是您可以很容易地以一种顺序编写列,然后以另一种顺序显示列。您可以很轻易地改变带有 .col-md-push-* 和 .col-md-pull-* 类的内置网格列的顺序,其中 * 范围是从 1 到 11

下面给一个综合实例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <title>Bootstrap 模板</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <link href="css/bootstrap.css" rel="stylesheet">
  8. <style type="text/css">
  9. .row{margin-bottom: 20px;}
  10. .row .row{
  11. margin-top: 10px;
  12. margin-bottom: 0;
  13. }
  14. [class*='col-']{
  15. padding-top:15px;
  16. padding-bottom:15px;
  17. background-color: #eee;
  18. background-color: rgba(86,61,124,0.15);
  19. border:1px solid #ddd;
  20. border:1px solid rgba(86,61,124,.2);
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="container">
  26. <div class="row">
  27. <div class="col-md-1">col-md-1</div>
  28. <div class="col-md-1">col-md-1</div>
  29. <div class="col-md-1">col-md-1</div>
  30. <div class="col-md-1">col-md-1</div>
  31. <div class="col-md-1">col-md-1</div>
  32. <div class="col-md-1">col-md-1</div>
  33. <div class="col-md-1">col-md-1</div>
  34. <div class="col-md-1">col-md-1</div>
  35. <div class="col-md-1">col-md-1</div>
  36. <div class="col-md-1">col-md-1</div>
  37. <div class="col-md-1">col-md-1</div>
  38. <div class="col-md-1">col-md-1</div>
  39. </div>
  40. <div class="row">
  41. <div class="col-md-3">col-md-3</div>
  42. <div class="col-md-3">col-md-3</div>
  43. <div class="col-md-3">col-md-3</div>
  44. </div>
  45. <div class="row">
  46. <div class="col-md-3">col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3col-md-3</div>
  47. <div class="col-md-3">col-md-3</div>
  48. <div class="col-md-3">col-md-3</div>
  49. </div>
  50. <div class="row">
  51. <div class="col-md-4 col-md-offset-4">col-md-4</div>
  52. </div>
  53.  
  54. <div class="row">
  55. <div class="col-sm-9">
  56. one
  57. <div class="row">
  58. <div class="col-xs-8">first</div>
  59. <div class="col-xs-4">two</div>
  60. </div>
  61. </div>
  62. </div>
  63.  
  64. <div class="row">
  65. <div class="col-md-9 col-md-push-3">col-md-9</div>
  66. <div class="col-md-3 col-md-pull-9">col-md-3</div>
  67. </div>
  68. </div>
  69. <script src="js/jquery-1.11.3.min.js"></script>
  70. <script src="js/bootstrap.min.js"></script>
  71. </body>
  72. </html>

实现效果:

二、bootstrap CSS代码

主要是从内联代码、用户输入、代码块、变量和程序输出方向讲解对代码的使用。

代码:

  1. <div class="container">
  2. <!--code 内联代码-->
  3. For example<code>&lt;section&gt;</code>as inline;
  4. 我希望现在能健入<kbd>cmd</kbd>命令
  5. <pre>
  6. same text here...;
  7. </pre>
  8. <var>x</var>=<var>y</var>+<var>z</var>
  9. <samp>hell world</samp>
  10. </div>

实现效果:

注意:请确保当您使用 <pre> 和 <code> 标签时,开始和结束标签使用了 unicode 变体: &lt; 和 &gt;

三、bootstrap 表格

Bootstrap 表格从基本表格到条纹状表格、带边框表格、鼠标悬停、紧缩表格、状态类和响应式表格。

如图所示,下图样式可用于表格中:

下图的类可用于表格的行或者单元格:

基本表格:如果您想要一个只带有内边距(padding)和水平分割的基本表,请添加 class .table。

条纹表格:通过添加 .table-striped class,您将在 <tbody> 内的行上看到条纹。

边框表格:通过添加 .table-bordered class,您将看到每个元素周围都有边框,且占整个表格是圆角的。

悬停表格:通过添加 .table-hover class,当指针悬停在行上时会出现浅灰色背景。

精简表格:(也即是紧凑型的表格)通过添加 .table-condensed class,行内边距(padding)被切为两半,以便让表看起来更紧凑。

状态表格:如图所示

这些类可被应用到 <tr>、<td> 或 <th>。

响应式表格:通过把任意的 .table 包在 .table-responsive class 内,您可以让表格水平滚动以适应小型设备(小于 768px)。当在大于 768px 宽的大型设备上查看时,您将看不到任何的差别。

总结起来就是:条纹状表格、带边框表格、鼠标悬停、紧缩表格table的class分别为table-striped table-bordered table-hover table-condensed

下面举例说明一下:

基本表格:

  1. <div class="container">
  2. <table class="table">
  3. <thead>
  4. <tr>
  5. <th>表格标题</th>
  6. <th>表格标题</th>
  7. <th>表格标题</th>
  8. </tr>
  9. </thead>
  10. <tbody>
  11. <tr>
  12. <td>表格单元格</td>
  13. <td>表格单元格</td>
  14. <td>表格单元格</td>
  15. </tr>
  16. <tr>
  17. <td>表格单元格</td>
  18. <td>表格单元格</td>
  19. <td>表格单元格</td>
  20. </tr>
  21. </tbody>
  22. </table>
  23. </div>

实现效果:

状态类:如代码:

  1. <div class="container">
  2. <table class="table table-bordered">
  3. <thead>
  4. <tr class="active">
  5. <th>表格标题</th>
  6. <th>表格标题</th>
  7. <th>表格标题</th>
  8. </tr>
  9. </thead>
  10. <tbody>
  11. <tr class="success">
  12. <td>表格单元格</td>
  13. <td>表格单元格</td>
  14. <td>表格单元格</td>
  15. </tr>
  16. <tr class="info">
  17. <td>表格单元格</td>
  18. <td>表格单元格</td>
  19. <td>表格单元格</td>
  20. </tr>
  21. <tr class="warning">
  22. <td>表格单元格</td>
  23. <td>表格单元格</td>
  24. <td>表格单元格</td>
  25. </tr>
  26. <tr class="danger">
  27. <td>表格单元格</td>
  28. <td>表格单元格</td>
  29. <td>表格单元格</td>
  30. </tr>
  31. <tr>
  32. <td>表格单元格</td>
  33. <td>表格单元格</td>
  34. <td>表格单元格</td>
  35. </tr>
  36. </tbody>
  37. </table>
  38. </div>

实现效果如图:

实现响应式表格

代码如下:

  1. <div class="table-responsive">
  2. <table class="table table-bordered">
  3. <thead>
  4. <tr class="active">
  5. <th>表格标题</th>
  6. <th>表格标题</th>
  7. <th>表格标题</th>
  8. </tr>
  9. </thead>
  10. <tbody>
  11. <tr class="success">
  12. <td>表格单元格</td>
  13. <td>表格单元格</td>
  14. <td>表格单元格</td>
  15. </tr>
  16. <tr class="info">
  17. <td>表格单元格表格单元格表格单元格</td>
  18. <td>表格单元格表格单元格表格单元格表格单元格</td>
  19. <td>表格单元格表格单元格表格单元格</td>
  20. </tr>
  21. <tr class="warning">
  22. <td>表格单元格表格单元格表格单元格表格单元格</td>
  23. <td>表格单元格表格单元格</td>
  24. <td>表格单元格表格单元格表格单元格</td>
  25. </tr>
  26. <tr class="danger">
  27. <td>表格单元格表格单元格</td>
  28. <td>表格单元格表格单元格</td>
  29. <td>表格单元格表格单元格</td>
  30. </tr>
  31. <tr>
  32. <td>表格单元格表格单元格</td>
  33. <td>表格单元格表格单元格</td>
  34. <td>表格单元格表格单元格</td>
  35. </tr>
  36. </tbody>
  37. </table>

实现的效果如图:

在图中可以看到如果屏幕很小,那么会出现横向滚动条,可以左右拖动查看完整的表格

Bootstrap CSS 栅格、代码和表格的更多相关文章

  1. Bootstrap css栅格 + 网页中插入代码+css表格

    设计达人 http://www.shejidaren.com/30-minimal-app-icons.html CSS栅格: <!DOCTYPE html> <html lang= ...

  2. Bootstrap CSS概览代码文字标注篇

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. Bootstrap内栅格布局,表格,按钮,图片的个人总结

    栅格布局: container,固定宽度的容器. container-fluid,百分百宽度的容器. 使用行(row)在水平方向上创建一组列(colmun). 每一行中最多能够包含12列,超出的列则另 ...

  4. ASP.NET MVC使用Bootstrap系统(2)——使用Bootstrap CSS和HTML元素

    阅读目录 Bootstrap 栅格(Grid)系统 Bootstrap HTML元素 Bootstrap 验证样式 ASP.NET MVC创建包含Bootstrap样式编辑模板 小结 Bootstra ...

  5. Bootstrap CSS 描述

    <!DOCTYPE html><html lang="zh-CN"><head> <!--定于内容,和内容的编码格式--> < ...

  6. BootStrap的栅格式布局

    1.栅格系统(布局) Bootstrap内置了一套响应式.移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列. 我在这里是把Bootstrap中的栅 ...

  7. Bootstrap<基础四> 代码

    Bootstrap 允许您以两种方式显示代码: 第一种是 <code> 标签.如果您想要内联显示代码,那么您应该使用 <code> 标签. 第二种是 <pre> 标 ...

  8. MVC5 + EF6 + Bootstrap3 (7) Bootstrap的栅格系统

    文章来源: Slark.NET-博客园http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-grid.html 上一节:ASP.NET MVC ...

  9. Bootstrap的栅格系统

    Bootstrap的栅格系统 上一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 源码下载:点我下载 要做一个完整的系统,除了需要MVC这样的B/S框架及EF这 ...

随机推荐

  1. 从零开始学 Java - Spring MVC 实现跨域资源 CORS 请求

    论职业的重要性 问:为什么所有家长都希望自己的孩子成为公务员? 答:体面.有权.有钱又悠闲. 问:为什么所有家长都希望自己的孩子成为律师或医生? 答:体面.有钱.有技能. 问:为什么所有家长都不怎么知 ...

  2. div+css背景渐变色代码示例

    用CSS使DIV背景颜色渐变,适用于IE和Chrome等浏览器. 从黄到红示例:http://keleyi.com/keleyi/phtml/divcss/2.htm 代码: <style ty ...

  3. IIS6.0添加上.net4.0后,以前的.net系统出现“服务器应用程序不可用”的错误提示解决办法

    把VS2010开发的网站.net4.0部署到Windows Server 2003的服务器上去, Windows Server 2003操作系统自带的为IIS 6.0,IIS 6.0一般只支持.NET ...

  4. SharePoint 2013 状态机工作流之日常报销示例

    简单介绍下状态机工作流,状态机工作流提供了一系列的状态.工作流从初始状态开始,到终止状态结束.两个状态之间定义行为进行过渡.通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变. 1. ...

  5. 交换机的交换原理、mac学习机制和老化机制

    1.交换机的交换原理: 1.交换机在mac地址表中查找数据帧中的目标mac地址,如果找到就讲该数据帧发送到相应的端口,如果找不到就广播. 2.如果交换机收到的报文中的源mac地址和目标mac地址一致的 ...

  6. shiro 实现单用户登录,一个用户同一时刻只能在一个地方登录

    我这里 shiro 并没有集成 springMVC,直接使用 ini 配置文件. shiro.ini [main] # Objects and their properties are defined ...

  7. iOS 二维码扫描

    // 导入 AVFoundation.framwork 框架#import "HDCodeViewController.h" #import "HDNormalViewC ...

  8. UIBezierPath-绘制基本图形

    步骤1:确定路径 步骤2:渲染 override func draw(_ rect: CGRect) { let path:UIBezierPath // 矩形 // path = UIBezierP ...

  9. 移动端App广告常见的10种形式

    什么是App广告?   App广告,或称In-App广告,是指智能手机和平板电脑这类移动设备中第三方应用程序内置广告,属于移动广告的子类别. App广告兴起得益于其载体—App的风行.平板电脑和大屏触 ...

  10. iOS百度地图SDK集成详细步骤

    1.iOS百度地图下载地址 http://developer.baidu.com/map/index.php?title=iossdk/sdkiosdev-download 根据需要选择不同的版本  ...