Bootstrap响应式布局、栅格系统
-
同一套页面可以兼容不同分辨率的设备。
-
实现:
依赖于栅格系统:将一行平均分成12个格子,可以指定元素占几个格子 -
步骤:
- 定义容器。相当于之前的table
容器分类:
container :每一种设备宽度不一样,各自固定,有留白
container-fluid :每一种设备都是100%宽度 - 定义行。相当于之前的tr
样式 : row - 定义元素。指定该元秦在不同的设备上,所占的格子数目。
样式: col-设备代号-格子数目
设备代号:
xs :超小屏幕手机(<768px) : col-xs-12
sm:小屏幕平板(≥768px)
md:中等屏幕桌面显示器(≥992px)
lg:大屏幕大桌面显示器(≥1200px)
- 注意:
- 一行中如果格子数目超过12,则超出部分自动换行
- 栅格类属性可以向上兼容。栅格类适用于与屏幕宽度大于或等于分界点大小的设备
- 如果真实设备宽度小于了设置栅格类属性的设备代码的最小值,会一个元素占满一整行。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>Bootstrap 栅格系统</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
<!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
<!--[if lt IE 9]>
<script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
<![endif]-->
<style>
.inner{
border: 1px solid red;
}
</style>
</head>
<body>
<!-- 定义容器 -->
<div class="container-fluid">
<!-- 定义行 -->
<div class="row">
<!-- 定义元素
大显示器栅格系统一行12个格子,col-lg-1
pad上显示6个格子,col-sm-2
-->
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
<div class="col-lg-1 col-sm-2 inner">栅格</div>
</div>
</div>
<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
<script src="js/jquery.min.js"></script>
<!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>