2016年5月29日上午(传智Bootstrap(笔记一))

Posted zzjeny

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016年5月29日上午(传智Bootstrap(笔记一))相关的知识,希望对你有一定的参考价值。

一、Bootstrap简介

  简单灵活可用于架构流行的用户界面和交互接口的html,css,javascript工具集。

  基于html5、css3的bootstrap,具有大量的诱人特性:友好的学习曲线,卓越的兼容性,响应式设计,12列格网,样式向导文档,自定义JQuery插件,完整的类库,基于Less等。

                       

 

  要想使用Bootstrap,需要加载jquery.js

二、Bootstrap基本模板

  HTML5文档类型定义、字符集设置、移动设备优先、引入css和js文件;

  (1)HTML5文档类型定义、字符集设置

    Bootstrap 使用了一些 HTML5 元素和 CSS 属性。为了让这些正常工作,您需要使用 HTML5 文档类型(Doctype)。 因此,请在使用 Bootstrap 项目的开头包含下面的代码段。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    如果在 Bootstrap 创建的网页开头不使用 HTML5 的文档类型(Doctype),您可能会面临一些浏览器显示不一致的问题,甚至可能面临一些特定情境下的不一致,以致于您的代码不能通过 W3C 标准的验证。

  (2)移动设备优先:

     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 的比例呈现,不会有任何的缩放。

  (3)引入css和js文件:

<!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" >
    <script src="js/bootstrap.min.js" rel="stylesheet"></script>
    <script src="js/jquery-2.2.4.min.js"></script>

  最后的标准模板为:

<!DOCTYPE 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>
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" >
    <script src="js/bootstrap.min.js" rel="stylesheet"></script>
    <script src="js/jquery-2.2.4.min.js"></script>
</head>
<body>
    <h1>Hello, world!</h1>
</body>
</html>

三、css全局样式

  1、布局容器类样式(布局容器)

    .container和.container-fluid

    Bootstrap 需要为页面内容和栅格系统包裹一个.container 容器。我们提供了两个作此用处的类。注意,由于 padding等属性的原因,这两种容器类不能互相嵌套。

    (1).container 固定宽度并且具有响应式

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

      ——响应式Web设计(Responsive Web design)的理念是:
  页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSS media query的使用等。无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。响应式网页设计就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。

  注意:

  Bootstrap 3 的 container class 用于包裹页面上的内容。让我们一起来看看 bootstrap.css 文件中的这个.container class。

.container {
   padding-right: 15px;
   padding-left: 15px;
   margin-right: auto;
   margin-left: auto;
}

  通过上面的代码,把 container 的左右外边距(margin-right、margin-left)交由浏览器决定。

  请注意,由于内边距(padding)是固定宽度,默认情况下容器是不可嵌套的。

.container:before,
.container:after {
  display: table;
  content: " ";
}

  这会产生伪元素。设置 display 为 table,会创建一个匿名的 table-cell 和一个新的块格式化上下文。:before 伪元素防止上边距崩塌,:after 伪元素清除浮动。

  如果conteneditable属性出现在HTML中,由于一些Opera bug,围绕上述元素创建一个空格。这可以通过使用content:""来修复。

.container:after {
  clear: both;
}

  它创建了一个伪元素,并确保了所有的容器包含所有的浮动元素。

  Bootstrap 3 CSS有一个申请响应的媒体查询,在不同的媒体查询阈值范围内都为container设置了max-width,用以匹配网格系统。

@media (min-width: 768px) {
   .container {
      width: 750px;
}

    (2)container-fluid 自由宽度(100%宽度),占据全部视口的容器

<div class="container-fluid">
        ......
    </div>
<div class="container-fluid">
        <h1>布局容器</h1>
       <p> Bootstrap 需要为页面内容和栅格系统包裹一个 .container 容器。我们提供了两个作此用处的类。注意,由于 padding 等属性的原因,这两种 容器类不能互相嵌套。
        .container 类用于固定宽度并支持响应式布局的容器。复制.container-fluid 类用于 100% 宽度,占据全部视口(viewport)的容器。复制</p>
    </div>

  2、标题样式:<h1>到<h6>、.h1~.h6

    (1)、<h1>到<h6>样式重写了,基本上做到了兼容性;

    Bootstrap和普通的HTML页面一样,定义标题都是使用标签<h1>到<h6>,只不过Bootstrap覆盖了其默认的样式,使用其在所有浏览器下显示的效果一样。

<!DOCTYPE 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>
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" >
    <script src="js/bootstrap.min.js" rel="stylesheet"></script>
    <script src="js/jquery-2.2.4.min.js"></script>
</head>

<body>
    <h1>我是标题1 h1</h1>
    <h2>我是标题2 h2</h2>
    <h3>我是标题3 h3</h3>
    <h4>我是标题4 h4</h4>
    <h5>我是标题5 h5</h5>
    <h6>我是标题6 h6</h6>
</body>
</html>

  其样式图为:

                

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

<!DOCTYPE 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>
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" >
    <script src="js/bootstrap.min.js" rel="stylesheet"></script>
    <script src="js/jquery-2.2.4.min.js"></script>
</head>
    <body>
        <!--Bootstrap中的标题-->
        <h1>Bootstrap标题一</h1>
        <h2>Bootstrap标题二</h2>
        <h3>Bootstrap标题三</h3>
        <h4>Bootstrap标题四</h4>
        <h5>Bootstrap标题五</h5>
        <h6>Bootstrap标题六</h6>
        <!--Bootstrap中让非标题元素和标题使用相同的样式-->
        <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>
    </body>
</html>

  (3)<small>

  除此之外,我们在Web的制作中,常常会碰到在一个标题后面紧跟着一行小的副标题。在Bootstrap中他也考虑了这种排版效果,使用了<small>标签来制作副标题。这个副标题具有其自己的一些独特样式:

    1、行高都是1,而且font-weight设置了normal变成了常规效果(不加粗),同时颜色被设置为灰色(#999)。
    2、由于<small>内的文本字体在h1~h3内,其大小都设置为当前字号的65%;而在h4~h6内的字号都设置为当前字号的75%;
详细代码请参阅bootstrap.css文件中第407行~第443行。

 

  4、代码<code>  <pre>

        <p><code>&lt;header&gt;</code> 作为内联元素被包围。</p>
        <p>如果需要把代码显示为一个独立的块元素,请使用<pre class="pre-scrollable"> 标签:</p>
        <pre >
          &lt;article&gt;
            &lt;h1&gt;Article Heading&lt;/h1&gt;
          &lt;/article&gt;
            &lt;article&gt;
            &lt;h1&gt;Article Heading&lt;/h1&gt;
          &lt;/article&gt;
            &lt;article&gt;
            &lt;h1&gt;Article Heading&lt;/h1&gt;
          &lt;/article&gt;
            &lt;article&gt;
            &lt;h1&gt;Article Heading&lt;/h1&gt;
          &lt;/article&gt;
        </pre>    

    

以上是关于2016年5月29日上午(传智Bootstrap(笔记一))的主要内容,如果未能解决你的问题,请参考以下文章

2016年5月31日上午(传智Bootstrap笔记(Bootstrap 布局组件输入框组))

2016年5月29日下午(传智Bootstrap(笔记二))

2016年5月29日上午(菜鸟Bootstrap(less))

2016年5月29日晚上(传智Bootstrap笔记三(表单))

2016年5月29日晚上(传智Bootstrap笔记四(栅格系统 ))

2016年5月29日晚上(传智Bootstrap笔记五(表单2))