bootstrap--概述

bootstrap4对iphone6及以下不支持,如果要支持,可以下载bootstrap3,下载完bootrap后,一般放入工程的lib/bootstrap目录下,bootstrap的js部分依赖jquery,所以还要下载一个jquery放到lib下

1.响应式布局就是网页能够响应各种各样不同分辨率大小的设备,能够将网页很好的呈献给用户

2.为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的 head 之中添加 viewport meta标签

<meta name="viewport" content="width=device-width, 
                                     initial-scale=1.0, 
                                     maximum-scale=1.0, 
                                     user-scalable=no">

  

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

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

在移动设备浏览器上,通过为 viewport meta 标签添加 user-scalable=no 可以禁用其缩放(zooming)功能。

通常情况下,maximum-scale=1.0 与 user-scalable=no 一起使用。这样禁用缩放功能后,用户只能滚动屏幕,就能让您的网站看上去更像原生应用的感觉。

3.响应式图像:

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

通过添加 img-responsive class 可以让 Bootstrap 3 中的图像对响应式布局的支持更友好。

接下来让我们看下这个 class 包含了哪些 css 属性。

在下面的代码中,可以看到img-responsive class 为图像赋予了 max-width: 100%; 和 height: auto; 属性,可以让图像按比例缩放,不超过其父元素的尺寸。这样在小屏幕中,图片会自动按比例缩小,达到响应式布局的目的

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

max-width: 100%会让图片在自身宽度和父元素宽度间取最小值

display 属性设置为 block,以块级元素显示

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

4.基本的全局显示

Bootstrap 3 使用 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

第二条规则设置文本的默认字体大小为 14 像素。

第三条规则设置默认的行高度为 1.428571429。

第四条规则设置默认的文本颜色为 #333333。

最后一条规则设置默认的背景颜色为白色。

5.container

<!DOCTYPE html>
<html >

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="bootstrap.min.css">
    <title>Document</title>
    <style>
        .div1 {
            height: 200px;
            width: 200px;
            margin-top: 30px;
            background: blue;
        }

        .div2 {
            height: 100px;
            width: 100px;
            margin-top: 20px;
            background: green;
        }
    </style>
</head>

<body>
    <div class="container div1">
        <div class="div2">abc</div>
    </div>
</body>

</html>  

container样式:

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

还定义了伪元素:

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

相当于把container上下封起来,封起来后,margin合并就消除了

同时还给after伪元素清除浮动来解决高度塌陷问题

.container:after {
  clear: both;
}

container还有类似这样的动态设置:

@media (min-width: 768px)

.container {

  width: 750px;

}

当屏幕宽度超过768时,div的宽度会固定为750(730+左右15个padding)(在开发模式下逐步拉升chrome,可以看到会出来这段代码)

没有拉升到768之前,div的宽度是默认充满父元素的,margin是0,拉升超过768,div宽度固定750,这样左右的margin会越来越大

当拉宽到992以上时,div的宽度又会固定到另一个更宽的宽度

container就是这样实现响应式屏幕适配的

还有一个container-fluid类,类似于container,不同处在于,浏览器拉宽时,它左右不会有margin(不会有固定宽度),只保留左右各padding 15px

6.如果container或container-fluid容器直接子元素的class没有指定row,可能会出现横向滚动条