【Bootstrap 学习笔记】bootstrap css 布局容器 栅格系统

news/2024/10/17 22:14:09/

1 概述

1)HTML 5 文档类型

Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型。

<!DOCTYPE html>
<html lang="zh-CN">...
</html>

2)移动设备优先

Bootstrap 是移动设备优先的。为了确保适当的绘制和触屏缩放,需要在 <head> 之中添加 viewport 元元素。

<meta name="viewport" content="width=device-width, initial-scale=1">

在移动设备浏览器上,通过为 viewport设置 meta 属性为 user-scalable=no 可以禁用其缩放功能。这样禁用缩放功能后,用户只能滚动屏幕,就能让你的网站看上去更像原生应用的感觉。

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

3)排版与链接

Bootstrap 排版、链接样式设置了基本的全局样式。

  • 为 body 元素设置 background-color: #fff;
  • 使用 @font-family-base、@font-size-base 和 @line-height-base 变量作为排版的基本参数
  • 为所有链接设置了基本颜色 @link-color ,并且当链接处于 :hover 状态时才添加下划线

2 布局容器

Bootstrap 提供了以下两种布局容器:

  • .container 类用于固定宽度并支持响应式布局的容器。

    媒体查询宽度值
    >1200px1170px
    >992px970px
    >768px750px
    小分辨率100%
  • .container-fluid 类用于 100% 宽度,占据 viewport 的容器。

**值得注意的是:**这两种 容器类不能互相嵌套。

3 栅格系统

1)什么是栅格系统

栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,内容就可以放入这些创建好的布局中。

Bootstrap 提供的栅格系统,主要特点如下:

  • 行的宽度,可以是固定宽度,也可以是相对宽度(100%)。
  • 一行中最多可以包含 12 个列。如果一行中包含的列大于 12,多余的列则被作为一个整体另起一行排列。
  • Bootstrap 根据 4 种分辨率提供不同的栅格系统预定义样式。

2)栅格系统工作原理

Bootstrap 的栅格系统的工作原理如下:

  • 栅格系统必须指定一个容器元素,该元素的 class 必须为 .container(固定宽度)或 .container-fluid(100%宽度)。
  • 作为“行”的元素必须作为容器元素的直接子元素,并且 class 设置为 .row。
  • 作为“列”的元素必须是“行”元素的直接子元素(“行”元素的子元素不能直接包含内容,内容应该被包含在“列”元素中。),并且一行最多允许创建 12 列。
  • “列”元素的预定义样式,具体内容请参考 “3)栅格系统的参数” 内容。

3)栅格系统的参数

Bootstrap 根据 4 种不同的分辨率提供了不同的预定义样式(栅格类)。栅格类适用于与屏幕宽度大于或等于分界点大小的设备 , 并且针对小屏幕设备覆盖栅格类。

超小屏幕 手机(<768px)小屏幕 平板(>=768px)中等屏幕 桌面显示器(>=992px)大屏幕 大桌面显示器(>=1200px)
栅格系统行为总是水平排列以折叠开始,大于断点成水平方式以折叠开始,大于断点成水平方式以折叠开始,大于断点成水平方式
容器宽度None(自动)750px970px1170px
class 前缀.col-xs-.col-sm-.col-md-.col-lg-
列数12121212
列宽自动60px78px95px
槽宽30px(每列左右均为 15px)30px(每列左右均为 15px)30px(每列左右均为 15px)30px(每列左右均为 15px)
可嵌套
偏移
排序

4)栅格系统示例

  • CSS 代码
body {margin-top : 100px;
}
[class*=col-] {border : 1px solid black;padding-top: 15px;padding-bottom: 15px;
}
  • HTML 代码
<div class="container"><h3>三等分列</h3><div class="row"><div class="col-md-4">.col-md-4</div><div class="col-md-4">.col-md-4</div><div class="col-md-4">.col-md-4</div></div><h3>三不等分列</h3><div class="row"><div class="col-md-3">.col-md-3</div><div class="col-md-6">.col-md-6</div><div class="col-md-3">.col-md-3</div></div><h3>手机、平板电脑和PC桌面不同布局</h3><div class="row"><div class="col-md-3 col-sm-6 col-xs-12">col-md-3 col-sm-6 col-xs-12</div><div class="col-md-3 col-sm-6 col-xs-12">col-md-3 col-sm-6 col-xs-12</div><div class="col-md-3 col-sm-6 col-xs-12">col-md-3 col-sm-6 col-xs-12</div><div class="col-md-3 col-sm-6 col-xs-12">col-md-3 col-sm-6 col-xs-12</div></div>
</div>

5)调整列的顺序

a. 列偏移

使用 .col-md-offset-* 类可以将列向右侧偏移。(* 表示向右偏移的列数)

<div class="container"><h3>列偏移</h3><div class="row"><div class="col-md-4">.col-md-4</div><div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div></div><div class="row"><div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div><div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div></div><div class="row"><div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div></div>
</div>

b. 嵌套列

在 Bootstrap 的栅格系统允许进行嵌套。所谓栅格系统嵌套,就是指在 Bootstrap 栅格系统中的每列中允许包含一个栅格系统。

被嵌套的“行”中所包含的列的个数依旧不能超过 12 列。

<div class="container"><h3>嵌套列</h3><div class="row"><div class="col-sm-9">Level 1: .col-sm-9<div class="row"><div class="col-xs-8 col-sm-6">Level 2: .col-xs-8 .col-sm-6</div><div class="col-xs-4 col-sm-6">Level 2: .col-xs-4 .col-sm-6</div></div></div></div>
</div>

c. 列排序

通过将栅格系统中的列向右移动(push)或向左移动(pull)来改变列的顺序。

  • .col-md-push-*表示向右移动
  • .col-md-pull-*表示向左移动
<div class="container"><h3>列排序</h3><div class="row"><div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div><div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div></div>
</div>

6)响应式工具

通过单独或联合使用以下列出的 class,可以针对不同屏幕尺寸隐藏或显示页面内容。

超小屏幕 手机(<768px)小屏幕 平板(>=768px)中等屏幕 桌面(>=992px)大屏幕 大桌面(>=1200px)
.hidden-xs隐藏可见可见可见
.hidden-sm可见隐藏可见可见
.hidden-md可见可见隐藏可见
.hidden-lg可见可见可见隐藏
<div class="container"><h3>响应式工具</h3><div class="row"><div class="col-md-3 col-sm-4 hidden-xs">.col-md-3</div><div class="col-md-6 col-sm-8 col-xs-12">.col-md-6</div><div class="col-md-3 hidden-sm hidden-xs">.col-md-3</div></div>
</div>

7)响应式栅格系统示例

<!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"><title>Bootstrap栅格系统案例</title><!-- Bootstrap --><link href="bootstrap/css/bootstrap.min.css" rel="stylesheet"><!--[if lt IE 9]><script src="bootstrap/js/html5shiv.min.js"></script><script src="bootstrap/js/respond.min.js"></script><![endif]-->
</head>
<body>
<div class="jumbotron"><div class="container"><h1>Hello, world!</h1><p>This is a template for a simple marketing or informational website. It includes a large callout called ajumbotron and three supporting pieces of content. Use it as a starting point to create something moreunique.</p></div>
</div><div class="container"><!-- Example row of columns --><div class="row"><div class="col-md-4"><h2>Heading</h2><p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauriscondimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna molliseuismod. Donec sed odio dui. </p><p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p></div><div class="col-md-4"><h2>Heading</h2><p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauriscondimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna molliseuismod. Donec sed odio dui. </p><p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p></div><div class="col-md-4"><h2>Heading</h2><p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligulaporta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, utfermentum massa justo sit amet risus.</p><p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p></div></div><hr><footer><p>&copy; 2015 Company, Inc.</p></footer>
</div><script src="bootstrap/js/jquery-1.11.3.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

http://www.ppmy.cn/news/746959.html

相关文章

记一次上电不当引起的开机花屏

调试一款BOE lvds屏幕时&#xff0c;出现开机花屏(必现)&#xff0c;休眠唤醒后正常。 查看开机时5v ldo的波形如下(异常波形维持3s以上&#xff0c;下面的图是改善后的&#xff0c;减低到420ms&#xff0c;开机的瞬间无法直接控制到该gpio) 相应的ldo电路如下 由于使能脚没有…

WIN10 启动后花屏

WIN10 启动后花屏 解决方案 win10里&#xff0c;右键点击开始按钮&#xff0c;在菜单中选择“控制面板”&#xff0c;然后&#xff0c;控制面板 - 硬件和声音 - 电源选项 - 更改电源按钮的功能 - 更改当前不可用的设置 - 取消“启用快速启动”&#xff0c;点击“保存修改”按…

Win7系统开机花屏处理方法

我们日常在对电脑的使用过程中&#xff0c;经常都会遇到这样或那样的问题。比如说win7开机花屏&#xff0c;当遇到这个问题时该如何解决呢&#xff1f;别着急还有小编在呢&#xff0c;接下来我就来给大家详细的介绍一下Windows7系统开机花屏如何处理。 windows7系统开机花屏怎么…

Ubuntu19.04或Ubuntu20.04版本安装后开机花屏的解决办法

Ubuntu19.04或Ubuntu20.04版本安装后开机花屏的解决办法 注意&#xff1a;我是笔记本电脑&#xff0c;解决办法是我无意间发现的&#xff0c;本人啥都不懂&#xff0c;可能只对于本人电脑有效 首先花屏是这个样子的&#xff1a;很多条横杠&#xff08;甚至比图中的更多&#…

安装ubuntu出现花屏_ubuntu安装成功,开机花屏问题

解释&#xff1a;此方法本人经过测试并没有成功【文章转自CSDN】&#xff0c;由于时间有限把这个问题记录一下有空会继续测试&#xff0c;抛砖引玉…… 题描述&#xff1a; ubuntu正常开机花屏&#xff0c;进不入登录界面。从恢复模式进入没有问题。首先说下本人的是NVIDIA的显…

virtualBox ubuntu 虚拟机开机之后界面花屏、黑屏等处理方法

virtualBox ubuntu 虚拟机开机之后界面花屏、黑屏等处理方法 有时候更新完windows之后就会出现这种现象&#xff0c;有可能是两个原因&#xff1a; 1、显卡驱动问题 2、ubuntu无法正常加载desktop ** 解决办法&#xff1a; 1、首先 我们要进入命令行界面 按下 CtrlF1&#…

花屏以后计算机重启怎么办,电脑有时候花屏然后重启就好了怎么办

突然间遇到电脑花屏的情况怎么办&#xff0c;其实现有很多用户都不知道电脑花屏的原因的&#xff0c;那遇到了花屏怎么办?下面是学习啦小编为大家整理的关于电脑有时候花屏然后重启就好了的相关资料&#xff0c;希望对您有所帮助! 电脑有时候花屏然后重启就好了的解决方法 电脑…

计算机开机显示花屏,电脑开机乱码花屏故障,动动手或就解决

原标题&#xff1a;电脑开机乱码花屏故障&#xff0c;动动手或就解决 电脑开机时乱码花屏&#xff0c;是什么个情况&#xff1f;请欣赏&#xff1a; 看了这些图我相信大家已经了解了我说的电脑开机出现乱码花屏是什么了。 我想很多朋友可能都遇到过这样的状况&#xff0c;电脑在…