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

网页设计中的网格布局作用:组织内容,让网站易于浏览,并降低用户端的负载。

Grid System

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

移动设备优先策略:

1.基础的 CSS 是移动设备优先,媒体查询是针对于平板电脑、台式电脑。

2.随着屏幕大小的增加而添加元素。

3.优先设计更小的宽度。

Grid System 工作原理

1.行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距(padding)。

2.使用行来创建列的水平组。

3.内容应该放置在列内,且唯有列可以是行的直接子元素。

4.预定义的网格类,比如 .row 和 .col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。

5.列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。

6.网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4

媒体查询

媒体查询是非常别致的"有条件的 CSS 规则"。它只适用于一些基于某些规定条件的 CSS。如果满足那些条件,则应用相应的样式。

/* 超小设备(手机,小于 768px) */
/* Bootstrap 中默认情况下没有媒体查询 */ /* 小型设备(平板电脑,768px 起) */
@media (min-width: @screen-sm-min) { ... } /* 中型设备(台式电脑,992px 起) */
@media (min-width: @screen-md-min) { ... } /* 大型设备(大台式电脑,1200px 起) */
@media (min-width: @screen-lg-min) { ... }

有时候也会在媒体查询代码中包含 max-width,从而将 CSS 的影响限制在更小范围的屏幕大小之内。

@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }

网格选项

.col-xs-  超小设备手机(<768px)

.col-sm- 小型设备平板电脑(≥768px)

.col-md- 中型设备台式电脑(≥992px)

.col-lg-   大型设备台式电脑(≥1200px)

代码

01 页面居中显示的容器

<!DOCTYPE html>
<html>
<head> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"><!--告诉IE浏览器用最新的引擎-->
<meta name="viewport" content="width=device-width, initial-scale=1"><!--响应式布局-->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" /><!--bootstrap样式--> <title></title> </head>
<body> <div class="container">
<h1 class="page-header">主体</h1>
<p>Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.</p>
</div> <script src="Script/jquery-1.8.3.js"></script><!--Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边-->
<script src="bootstrap/js/bootstrap.min.js"></script><!--Bootstrap 的所有 JavaScript 插件-->
</body>
</html>

class:page-header,container

.page-header {
padding-bottom: 9px;
margin: 40px 0 20px;
border-bottom: 1px solid #eee;
} .container {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 768px) {
.container {
width: 750px;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
}
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}

02 网格类

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <title></title> </head>
<body> <div class="container">
<div class="row">
<!--
col-lg-6 >=1200px
col-md-8 >=992px
col-sm-6 >=768px
col-xs-6 <798px
-->
<div class="col-md-8 col-sm-6">
<h1 class="page-header">主体</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
<div class="col-md-4 col-sm-6">
<h1 class="page-header">边栏</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
</div>
</div> <script src="Script/jquery-1.8.3.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

03 混合使用网格类

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <title></title> </head>
<body> <div class="container">
<div class="row">
<!--
col-lg-6 >=1200px
col-md-8 >=992px
col-sm-6 >=768px
col-xs-6 <798px
-->
<div class="col-md-9 col-sm-8 col-xs-6 col-lg-10">
<h1 class="page-header">主体</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
<div class="col-md-3 col-sm-4 col-xs-6 col-lg-2">
<h1 class="page-header">边栏</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
</div>
</div> <script src="Script/jquery-1.8.3.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

04 push和pull

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <title></title> </head>
<body> <div class="container">
<div class="row">
<div class="col-md-9 col-md-push-3"><!--col-md-push-3:中等尺寸往右推3个网格-->
<h1 class="page-header">主体</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
<div class="col-md-3 col-md-pull-9"><!--col-md-pull-9:中等尺寸往左拉9个网格-->
<h1 class="page-header">边栏</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
</div>
</div> <script src="Script/jquery-1.8.3.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

05 嵌套的布局

class:clearfix 清除浮动  or 每行网格都放在 class:row中的div中

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <title></title> </head>
<body> <div class="container">
<div class="row">
<div class="col-md-8">
<h1 class="page-header">主体</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
<div class="row">
<div class="col-md-4">
<h1 class="page-header">区块1</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
<div class="col-md-4">
<h1 class="page-header">区块2</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
<div class="col-md-4">
<h1 class="page-header">区块3</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
<div class="clearfix"></div>
<div class="col-md-6">
<h1 class="page-header">区块4</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
<div class="col-md-6">
<h1 class="page-header">区块5</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
</div>
</div>
<div class="col-md-4">
<h1 class="page-header">边栏</h1>
<p>
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
</p>
</div>
</div>
</div> <script src="Script/jquery-1.8.3.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

Bootstrap3基础教程 02 网格布局的更多相关文章

  1. bootstrap学习总结-02 网格布局

    1  网格布局 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. <!DOCTYPE html> ...

  2. GStreamer基础教程02 - 基本概念

    摘要 在 Gstreamer基础教程01 - Hello World中,我们介绍了如何快速的通过一个字符串创建一个简单的pipeline.为了能够更好的控制pipline中的element,我们需要单 ...

  3. Python基础教程-02

    <Python基础教程> 第3章 使用字符串 字符串方法find返回的并非布尔值.如果find像这样返回0,就意味着它在索引0处找到 了指定的子串 join可合并一个字符串列表,不能合并数 ...

  4. Bootstrap3基础教程 01 概述

    移动设备优先是 Bootstrap 3 的最显著的变化. 基础的页面: <!DOCTYPE html> <html> <head> <meta charset ...

  5. Bootstrap3基础 栅格系统 页面布局随 浏览器大小的变化而变化

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  6. 【GStreamer开发】GStreamer基础教程02——GStreamer概念

    上一个教程演示了如何自动生成一个pipeline.这次我们打算用一个个element来手动搭建一个pipeline.我们这个教程会演示: 1. 什么是GStreamer的element以及如何建立一个 ...

  7. Bootstrap3基础教程 03 导航栏

    Bootstrap导航栏 创建一个默认的导航栏的步骤如下: 1.向 <nav> 标签添加 class .navbar..navbar-default. 2.向上面的元素添加 role=&q ...

  8. 图形学基础教程02--顶点数据和SHADER寄存器 (带演示程序)

    本文系原创,欢迎转载,请标明链接 http://www.cnblogs.com/luming1979 有问题欢迎加qq群讨论:366239605

  9. 02网格布局Gridlayout

    <span style="font-size:18px;"><?xml version="1.0" encoding="utf-8& ...

随机推荐

  1. 简述python中的@staticmethod作用及用法

    关于@staticmethod,这里抛开修饰器的概念不谈,只简单谈它的作用和用法. staticmethod用于修饰类中的方法,使其可以在不创建类实例的情况下调用方法,这样做的好处是执行效率比较高.当 ...

  2. 2 ArrayList 详解

    List 是有序.可重复的容器.List中每个元素都有索引标记,可以根据元素的索引标记访问元素,从而精确控制这些元素. List 接口常用的实现类:ArrayList.LinkedList.Vecto ...

  3. [学习]sentinel中的DatatSource(一) ReadableDataSource

    sentinel是今年阿里开源的高可用防护的流量管理框架. git地址:https://github.com/alibaba/Sentinel wiki:https://github.com/alib ...

  4. npm 权限

    将npm默认目录定向到其他你具有读写权限的目录 很多时候你可能并不想改变npm所用的默认目录(如/usr)的拥有者,因为这可能会导致一些问题,比如你在与其他用户共用此系统时. 这时,你可以设置npm整 ...

  5. ubuntu19.04 安装workbench

    1.首先下载安装这两个包: https://packages.ubuntu.com/cosmic/amd64/libssl1.0.0/download https://packages.ubuntu. ...

  6. LC 820. Short Encoding of Words

    Given a list of words, we may encode it by writing a reference string S and a list of indexes A. For ...

  7. vue-cli 构建的项目 webpack 如何配置不 build 出 .map 文件?

    build命令后占体积最大的竟然是.map文件,webpack如何设置不让编译出.map文件呢?

  8. Pattern Evaluation

    对相关性patten质量的常用分析指标有以下这些 其中,X^2 跟 lift不是null-invariant的,也就是说当~A~B项较多时,这两个指标不是很可靠. 据Jiawei Han所言,Kulc ...

  9. Spring下使用Redis

    在Spring中使用Redis使用使用两个依赖包jedis.jar.spring-data-redis.jar 一下是Maven项目pom.xml添加依赖 <!--jedis.jar --> ...

  10. Oracle数据库导入(expdp)和导出(impdp)

    文档最后,列出了常用的一些导入导出的场景,以及一些导入导出的属性说明. 一.数据库导出(expdp) 使用sys或system账号登录oracle 通过"Window + R" 打 ...