zoukankan      html  css  js  c++  java
  • 笔试12:Bootstrap知识

    BootStrap

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。

    1 Bootstrap 基本结构

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。

    (1)创建html框架:在pycharm中输入!,之后tab即可

    1559629180353

    (2)Bootstrap 安装。您可以从 http://getbootstrap.com/ 上下载 Bootstrap 的最新版本。包含了 jquery.jsbootstrap.min.jsbootstrap.min.css 文件,用于让一个常规的 HTML 文件变为使用了 Bootstrap 的模板。国内推荐使用 Staticfile CDN 上的库:

    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    
    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    

    2 Bootstrap CSS

    Bootstrap 3 默认的 CSS 本身就对移动设备友好支持。Bootstrap 3 的设计目标是移动设备优先,然后才是桌面设备。这实际上是一个非常及时的转变,因为现在越来越多的用户使用移动设备。为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的 head 之中添加 viewport meta 标签,如下所示:

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    

    width 属性控制设备的宽度。假设您的网站将被带有不同屏幕分辨率的设备浏览,那么将它设置为 device-width 可以确保它能正确呈现在不同设备上。

    initial-scale=1.0 确保网页加载时,以 1:1 的比例呈现,不会有任何的缩放。

    • 响应式图像
    <img src="..." class="img-responsive" alt="响应式图像">
    

    img-responsive class 为图像赋予了 max- 100%; 和 height: auto; 属性,可以让图像按比例缩放,不超过其父元素的尺寸。

    .img-responsive {
      display: block;
      height: auto;
      max- 100%;
    }
    

    这表明相关的图像呈现为 block。当您把元素的 display 属性设置为 block,以块级元素显示。设置 height:auto,相关元素的高度取决于浏览器。

    设置 max-width 为 100% 会重写任何通过 width 属性指定的宽度。这让图片对响应式布局的支持更友好。

    如果需要让使用了 .img-responsive 类的图片水平居中,请使用 .center-block 类,不要用 .text-center。

    body {margin: 0;} 来移除 body 的边距。请看下面有关 body 的设置:

    body {
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 14px;
      line-height: 1.428571429;
      color: #333333;
      background-color: #ffffff;
    }
    

    第一条规则设置 body 的默认字体样式为 "Helvetica Neue", Helvetica, Arial, sans-serif。最后一条规则设置默认的背景颜色为白色。

    1559631518306

    2.1 网格系统

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

    • bootstrap网格系统(Grid System):Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。

    1559631684369

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

    1559631858112

    • 堆叠水平
    <div class="container">
        <h1>Hello, world!</h1>
     
        <div class="row">
            <div class="col-md-6"  style="background-color: #dedef8; box-shadow: inset 1px -1px 1px #444, inset -1px 1px 1px #444;">
                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do 
                eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut 
                enim ad minim veniam, quis nostrud exercitation ullamco laboris 
                nisi ut aliquip ex ea commodo consequat. 
                </p>
     
                <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem 
                accusantium doloremque laudantium, totam rem aperiam, eaque ipsa 
                quae ab illo inventore veritatis et quasi architecto beatae vitae 
                dicta sunt explicabo. 
                </p>
            </div>
     
            <div class="col-md-6" style="background-color: #dedef8;box-shadow: inset 1px -1px 1px #444, inset -1px 1px 1px #444;">
                <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem 
                accusantium doloremque laudantium.
                </p>
     
                <p> Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, 
                consectetur, adipisci velit, sed quia non numquam eius modi 
                tempora incidunt ut labore et dolore magnam aliquam quaerat 
                voluptatem. 
                </p>
            </div>
        </div>
    </div>
    
    • ...
      元素被添加,确保居中和最大宽度。
    • 一旦添加了容器,接下来您需要考虑以行为单位。添加
      ...
      ,并在行内添加列
    • 网格中的每一行是由 12 个单元组成的,您可以使用这些单元定义列的尺寸。在我们的实例中,有两个列,每个列由 6 个单元组成,即 6+6=12。

    2.2 手机平板电脑通用尺寸

    https://www.runoob.com/bootstrap/bootstrap-grid-system-example3.html

    2.3 排版

    <small>本行内容是在标签内</small><br>
    <strong>本行内容是在标签内</strong><br>
    <em>本行内容是在标签内,并呈现为斜体</em><br>
    <p class="text-left">向左对齐文本</p>
    <p class="text-center">居中对齐文本</p>
    <p class="text-right">向右对齐文本</p>
    <p class="text-muted">本行内容是减弱的</p>
    <p class="text-primary">本行内容带有一个 primary class</p>
    <p class="text-success">本行内容带有一个 success class</p>
    <p class="text-info">本行内容带有一个 info class</p>
    <p class="text-warning">本行内容带有一个 warning class</p>
    <p class="text-danger">本行内容带有一个 danger class</p>
    
    • 缩写

      1559633281715

    • 地址

    <address>
      <strong>Some Company, Inc.</strong><br>
      007 street<br>
      Some City, State XXXXX<br>
      <abbr title="Phone">P:</abbr> (123) 456-7890
    </address>
    <address>
      <strong>Full Name</strong><br>
      <a href="mailto:#">mailto@somedomain.com</a>
    </address>
    
    • 引用
    <blockquote>
      <p>
      这是一个默认的引用实例。这是一个默认的引用实例。这是一个默认的引用实例。这是一个默认的引用实例。这是一个默认的引用实例。这是一个默认的引用实例。这是一个默认的引用实例。这是一个默认的引用实例。
      </p>
    </blockquote>
    <blockquote>
      这是一个带有源标题的引用。
      <small>Someone famous in <cite title="Source Title">Source Title</cite></small>
    </blockquote>
    <blockquote class="pull-right">
      这是一个向右对齐的引用。
      <small>Someone famous in <cite title="Source Title">Source Title</cite></small>
    </blockquote>
    
    • 列表
    <h4>有序列表</h4>
    <ol>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
      <li>Item 4</li>
    </ol>
    <h4>无序列表</h4>
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
      <li>Item 4</li>
    </ul>
    <h4>未定义样式列表</h4>
    <ul class="list-unstyled">
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
      <li>Item 4</li>
    </ul>
    <h4>内联列表</h4>
    <ul class="list-inline">
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
      <li>Item 4</li>
    </ul>
    <h4>定义列表</h4>
    <dl>
      <dt>Description 1</dt>
      <dd>Item 1</dd>
      <dt>Description 2</dt>
      <dd>Item 2</dd>
    </dl>
    <h4>水平的定义列表</h4>
    <dl class="dl-horizontal">
      <dt>Description 1</dt>
      <dd>Item 1</dd>
      <dt>Description 2</dt>
      <dd>Item 2</dd>
    </dl>
    
    • 其他排版

    1559633633126

    2.4 代码

    Bootstrap 允许您以两种方式显示代码:开始和结束标签使用了 unicode 变体: <>

    • 第一种是 标签。如果您想要内联显示代码,那么您应该使用 标签。
    • 第二种是
       标签。如果代码需要被显示为一个独立的块元素或者代码有多行,那么您应该使用 
       标签。

    1559633788857

    1559633902621

    2.5 表格

    Bootstrap 提供了一个清晰的创建表格的布局。下表列出了 Bootstrap 支持的一些表格元素:

    1559633980733

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

    1559635247252

    • , 和 类

    1559635279915

    基本表格

    <table class="table">
      <caption>基本的表格布局</caption>
      <thead>
        <tr>
          <th>名称</th>
          <th>城市</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Tanmay</td>
          <td>Bangalore</td>
        </tr>
        <tr>
          <td>Sachin</td>
          <td>Mumbai</td>
        </tr>
      </tbody>
    </table>
    

    2.6 表单

    Bootstrap 提供了下列类型的表单布局:垂直表单(默认),内联表单,水平表单。创建基本表单的步骤:

    • 向父
      元素添加 role="form"
    • 把标签和控件放在一个带有 class .form-group
      中。这是获取最佳间距所必需的。
    • 向所有的文本元素