弹性布局案例&详解

学习目标:弹性布局案列

  • 了解弹性布局
  • 使用弹性布局
  • 仿写案例

一、弹性布局(什么是弹性布局)

  1. 弹性盒子
    弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成。
    在这里插入图片描述

  2. 弹性容器:需要添加弹性布局的父元素;

  3. 弹性子元素:弹性布局容器中的子元素,也称为项目;

    • 主轴(main axis):在弹性布局中,我们会通过属性的规定水平或垂直方位为主轴【X/Y轴】;
    • 交叉抽(cross axis):垂直与交叉轴的另一条轴(可理解为就是主轴的垂线)在这里插入图片描述

弹性布局示例

在这里插入图片描述

<body>
	<style>
		.box {
      
      
			height: 400px;
			background-color: #000;
		}

		.box div {
      
      
			/* 使用子代选择器 */
			width: 400px;
			height: 100px;
			background-color: blue;
			/* 设置背景 */
			color: white;
			font-size: 30px;
		}
	</style>
	<div class="box">
		<div class="box1">1</div>
		<div class="box2">2</div>
		<div class="box3">3</div>
		<div class="box4">4</div>
		<div class="box5">5</div>
	</div>
</body>

为父元素添加弹性布局

关键代码: display: flex;

<body>
	<style>
		.box {
      
      
			display: flex;
			/*将父元素改为弹性容器 flex*/
			height: 400px;
			background-color: #000;
		}

		.box div {
      
      
			/* 使用子代选择器 */
			width: 400px;
			height: 100px;
			background-color: blue;
			/* 设置背景 */
			color: white;
			font-size: 30px;
		}
	</style>
	<div class="box">
		<div class="box1">1</div>
		<div class="box2">2</div>
		<div class="box3">3</div>
		<div class="box4">4</div>
		<div class="box5">5</div>
	</div>
</body>

运行结果
在这里插入图片描述

二、弹性布局的属性

1. 作用在父容器上的属性

这个表格很重要,不要求背下来,但是一定要多看!多看!多看!

描述
flex-direction 指定弹性容器中子元素排列方式
flex-wrap 设置弹性盒子的子元素超出父容器时是否换行
flex-flow flex-direction和flex-wrap的简写
justify-content 设置弹性盒子元素在主轴(横轴)方向的对其方式
align-items 设置弹性盒子元素在侧轴(纵轴方向的对其方式)
align-content 修改flex-wrap属性的行为,类似于align-items,但不是设置元素对齐,而是设置行对齐
1-1. flex- direction 属性

flex- **direction属性是用来指定弹性容器中子元素排列方式,它决定了主轴的方向。

描述
row(默认值) 主轴为水平方向,起点在左端
row-reverse 主轴为水平方向,起点在右端
column 主轴为垂直方向,起点在上沿
column-reverse 主轴为垂直方向,起点在下沿

在这里插入图片描述

1-2. flex-wrap 属性

flex-wrap 属性规定flex容器是单行还是多行,同时横轴(X轴)的方向决定了新行堆叠的方向。flex-wrap属性设置弹性盒子的子元素超出父容器时是否换行。

描述
nowrap(默认值) 当容器宽度不够时,每个项目的会被挤压宽度排在一行
wrap 换行,并且第一行在容器的最上方
wrap-reverse 换行,并且第一行在容器的最下方
I . nowrap(默认值)值

在这里插入图片描述

II . wrap值

wrap 换行,并且第一行在容器的最上方

在这里插入图片描述

III . wrap-reverse值

换行,并且第一行在容器的最下方

在这里插入图片描述

1-3. flex-flow属性

flex-flow是flex-direction和flex-wrap的缩写形式,默认值为: flex-flow:row nowrap;(最常用)

  • flex-direction:row(默认值)|row-reverse|column|column-reverse;
  • flex-wrap:nowrap(默认值)|wrap|wrap-reverse;
1-4. justify-content属性
描述
flex-start(默认) 子元素位于主轴起点
flex-end 子元素位于主轴终点
centent 居中
space-between 两端对其,项目之间的间隔都相等。(开头和最后的项目,与父容器没有间隔)
space-around 每个项目两侧间隔相等,项目之间的间隔比项目与边框的间隔大一倍(开头和最后的与父容器边缘有一定的间隔)
1-5 .align-items属性

设置弹性盒子元素在侧轴(纵轴方向的对其方式)

描述
flex-start 交叉轴的起点对齐
flex-end 交叉轴的终点对齐
centent 交叉轴的中点对齐
baseline 项目的第一行文字的基线对齐(文字的高度、字体大小会影响每行的基线)。
strech(默认值) 如果项目未设置高度或设为auto,将占满整个容器的高度。

GitHug参考文档,点击我

猜你喜欢

转载自blog.csdn.net/SDXYGZH/article/details/127144296