bootstrap4对iphone6及以下不支持,如果要支持,可以下载bootstrap3,下载完bootrap后,一般放入工程的lib/bootstrap目录下,bootstrap的js部分依赖jquery,所以还要下载一个jquery放到lib下
- 响应式布局就是网页能够响应各种各样不同分辨率大小的设备,能够将网页很好的呈献给用户
- 为了让 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 一起使用。这样禁用缩放功能后,用户只能滚动屏幕,就能让您的网站看上去更像原生应用的感觉。
-
响应式图像:
<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。 -
基本的全局显示
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。
最后一条规则设置默认的背景颜色为白色。 -
container
<!DOCTYPE html>
<html lang="en">
<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
网友评论