Bootstrap栅格系统

一、运作

1.网格选项

在这里插入图片描述
即引入样式后,最多可将屏幕分为12栏,可再通过需求合并。

2.基本结构

首先要布置基本结构和公共的class类名

	<div class="container-fluid">
		<div class="row"></div>
	</div>
	<div class="container">
		<div class="row"></div>
	</div>

3.选择自适应类型

1.container-fluid

  1. xl为超大屏。该种方法width=100%,屏幕宽度>=1200时一行可以设置12个列。屏幕尺寸<1200的时候,一行只能容纳1列
	<div class="container-fluid">
		<div class="row">
			<div class="col-xl-1">1</div>
			<div class="col-xl-1">2</div>
			<div class="col-xl-1">3</div>
			<div class="col-xl-1">4</div>
			<div class="col-xl-1">5</div>
			<div class="col-xl-1">6</div>
			<div class="col-xl-1">7</div>
			<div class="col-xl-1">8</div>
			<div class="col-xl-1">9</div>
			<div class="col-xl-1">10</div>
			<div class="col-xl-1">11</div>
			<div class="col-xl-1">12</div>
		</div>
	</div>

在这里插入图片描述
在这里插入图片描述

3.container

  1. 该方法超过最大设置值时,会固定宽度居中显示。
	<div class="container">
		<div class="row">
			<div class="col-xl-3">//一共12列,每三列合并
				xl为超大屏。屏幕宽度>=1200,容器的宽度固定为1140px,
				一行可以设置12个列。屏幕尺寸<1200的时候,一行只能容纳1</div>
			<div class="col-xl-3"></div>
			<div class="col-xl-3"></div>
			<div class="col-xl-3"></div>
		</div>
	</div>

在这里插入图片描述
在这里插入图片描述
当容器超过设置值时,列的宽度也会自适应增加,即百分比自适应

	<div class="container">
		<div class="row">
			<div class="col-sm-3">sm为小屏。屏幕宽度>=576px,容器的宽度固定为540px,一行可以设置12个列。屏幕尺寸<576的时候,一行只能设置1</div>
			<div class="col-sm-3"></div>
			<div class="col-sm-3"></div>
			<div class="col-sm-3"></div>
		</div>
	</div>

在这里插入图片描述

在这里插入图片描述

二、应用

1.设置等宽列,平分宽度

	<div class="row mt-5">
		<div class="col">等宽列</div>
		<div class="col">等宽列</div>
		<div class="col">等宽列</div>
		<div class="col">等宽列</div>
		<div class="col">等宽列</div>
		<div class="col">等宽列</div>
		<div class="col">等宽列</div>
	</div>

在这里插入图片描述
在这里插入图片描述

2.设置多行等宽列,选择断行

在希望断开的地方添加一个.w-100的class,能够让后面的列换行

	<div class="row mt-5">
		<div class="col">等宽列1</div>
		<div class="col">等宽列2</div>
		<div class="w-100" style="height: auto;border: none;"></div>	
		<div class="col">等宽列3</div>
		<div class="col">等宽列4</div>
	</div>

在这里插入图片描述

3.设置一个列宽,剩下的自动平分

	<div class="row mt-5">
		<div class="col-sm-7">在小屏幕下占7</div>
		<div class="col">自动平分剩余的宽度</div>
		<div class="col">自动平分剩余的宽度</div>
		<div class="col">自动平分剩余的宽度</div>
	</div>

在这里插入图片描述
在这里插入图片描述

4.设置根据内容调整列的宽度

使用.col-{breakpoint}-auto

	<div class="row mt-5">
		<div class="col-md-auto">在中等屏幕下由内容撑开宽度</div>
		<div class="col">自动平分剩余的宽度</div>
		<div class="col-lg-2">在大屏下占2</div>
	</div>

在这里插入图片描述
在达到其它要求时才会自适应不换行
在这里插入图片描述

5.设置所有尺寸下,都占同样的列数

	<div class="row mt-5">
		<div class="col-8">所有尺寸下都占8</div>
		<div class="col-4">所有尺寸下都占4</div>
	</div>

在这里插入图片描述

6.混合排列或者组合模式

  1. 超大屏幕下一行显示6个div,一个div应该占2列
  2. 大屏幕下一行显示4个div,一个div应该占3列
  3. 中等屏幕下一行显示3个div,一个div应该占4列
  4. 小屏幕下一行显示2个div,一个div应该占6列
  5. 超小屏幕下一行显示1个div,一个div应该占12列
	<div class="row mt-5">
		<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12">超大屏6个,大屏4个,中等屏3个,小屏2个,超小屏1</div>
		<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12">超大屏6个,大屏4个,中等屏3个,小屏2个,超小屏1</div>
		<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12">超大屏6个,大屏4个,中等屏3个,小屏2个,超小屏1</div>
		<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12">超大屏6个,大屏4个,中等屏3个,小屏2个,超小屏1</div>
		<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12">超大屏6个,大屏4个,中等屏3个,小屏2个,超小屏1</div>
		<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12">超大屏6个,大屏4个,中等屏3个,小屏2个,超小屏1</div>
	</div>

在这里插入图片描述
在这里插入图片描述

7.对齐

1.行的对齐方式

  1. align-items-start 顶对齐
  2. align-items-center 中间对齐
  3. align-items-end 底对齐
	<div class="row v-align">
		<div class="col align-self-start">垂直对齐-顶对齐-列的对齐方式</div>
		<div class="col align-self-center">垂直对齐-中间对齐-列的对齐方式</div>
		<div class="col align-self-end">垂直对齐-底对齐-列的对齐方式</div>
	</div>

在这里插入图片描述

2.列的单独对齐方式

  1. align-self-start 顶对齐
  2. align-self-center 中间对齐
  3. align-self-end 底对齐
	<div class="row v-align justify-content-start">
		<div class="col-4">水平对齐-左对齐</div>
		<div class="col-4">水平对齐-左对齐</div>
	</div>
	<div class="row v-align justify-content-center">
		<div class="col-4">水平对齐-居中对齐</div>
		<div class="col-4">水平对齐-居中对齐</div>
	</div>
	<div class="row v-align justify-content-end">
		<div class="col-4">水平对齐-右对齐</div>
		<div class="col-4">水平对齐-右对齐</div>
	</div>
	<div class="row v-align justify-content-around">
		<div class="col-4">水平对齐-分散居中对齐</div>
		<div class="col-4">水平对齐-分散居中对齐</div>
	</div>
	<div class="row v-align justify-content-between">
		<div class="col-4">水平对齐-左右两端对齐</div>
		<div class="col-4">水平对齐-左右两端对齐</div>
	</div>

在这里插入图片描述

8.列排序

使用.order-{breakpoint}- * ,3.x的版本使用的是.col-{breakpoint}-push- * .col-{breakpoint}-pull- * 来排序

	<div class="row mt-5">
		<div class="col">1</div>
		<div class="col order-12">2</div>//最大为12
		<div class="col order-6">3</div>
	</div>
	<div class="row mt-5">
		<div class="col">1</div>
		<div class="col order-xl-5">2</div>	<!-- 只有当屏幕尺寸>=1200的时候,才会进行排序 -->
		<div class="col order-xl-2">3</div>
	</div>
	<div class="row mt-5">
		<div class="col">1</div>
		<div class="col order-first">2</div>	<!-- order-first代表排在第1位,order-last代表排在最后一位 -->
		<div class="col order-last">3</div>
		<div class="col">4</div>
	</div>

在这里插入图片描述
在这里插入图片描述

9.列偏移

使用offset-{breakpoint}-*

	<div class="row mt-5">
		<div class="col-md-4">1</div>
		<div class="col-md-4 offset-md-4">往右偏移4</div>
	</div>
	<div class="row mt-5">
		<div class="col-3 offset-md-3">1</div>
		<div class="col-3 offset-md-3">2</div>
	</div>
	<div class="row mt-5">
		<div class="col-sm-5 col-md-6">小屏占5列,中屏占6</div>
		<div class="col-sm-5 offset-sm-3 col-md-6 offset-md-5">小屏偏移3列,中屏偏移5</div>
	</div>

在这里插入图片描述
在这里插入图片描述

10.间距

使用margin工具可以让列之间产生间距
mr-{breakpoint}-auto 使右侧的列远离到最右边
ml-{breakpoint}-auto 使左侧的列远离到最左边

	<div class="row mt-5">
		<div class="col-md-4">1</div>
		<div class="col-md-4 ml-auto">2列,跑到最右边</div>
	</div>
	<div class="row mt-5">
		<div class="col-md-3 ml-md-auto">在中屏下,离左边距离自动计算</div>
		<div class="col-md-3 ml-md-auto">在中屏下,离左边距离自动计算</div>
	</div>
	<div class="row mt-5">
		<div class="col-auto ml-auto">宽度由内容撑开</div>
		<div class="col-auto">宽度由内容撑开</div>
	</div>

小于中屏(768px)继续独占一行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11.嵌套

每一个列里面可以再继续放行,那嵌套里面的元素就会以父级的宽度为基准,再分12个列

	<div class="row mt-5">
		<div class="col-sm-9" style="height: 150px;background: grey;">
			父级的第1<div class="row">//同级列数计算好,否则会
				<div class="col-sm-8 col-6">子级的第1列,小屏下占8列,超小屏下占6</div>
				<div class="col-sm-4 col-6">子级的第2列,小屏下占4列,超小屏下占6</div>
			</div>
		</div>
		<div class="col-sm-3" style="height: 150px;background: pink;">父级的第2</div>
	</div>

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞羽逐星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值