flex布局

【LVGL-Flex布局和Grid布局】 主轴的定义描述将子类们排成一行并不换行将子类们排成一行并换行将子类们排成一行并不换行且顺序相反将子类们排成一行并换行且顺序相反将子类们排成一列并不换行将子类们排成一列并换行将子类们排成一列并不换行且顺序相反将子类们排成一列并换行且顺序相反。 阅读详情

flex布局

我们知道要想让块儿级元素按照从左到右的顺序排列,通常会设置元素的float,而设置float是会元素脱离文档流结构,从而改变父级元素的高度,并且还要考虑左右的清除浮动的影响。

针对块儿级元素的排列方式,所以我们引入了flex布局,flex布局是给父级容器设置display属性为flex,让父级容器具备flex属性,然后来控制容器中的子容器的排列顺序

flex布局分为容器属性和项目属性,容器属性指的是在父级容器中写入的css样式属性,项目属性则是给容器内部子容器的写的css样式属性。

容器属性
  • flex-direction : row(默认) | row-reverse | column | column-reverse

row表示的是将父容器中的子容器按行显示,也是display:flex的默认设置。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex布局</title>
		<style type="text/css">
			.container
			{
				width: 200px;
				height: 200px;
				background-color: #7FFFD4;
				display: flex;
				flex-direction: row;
			}
			.list
			{
				width: 50px;
				height: 50px;
				text-align: center;
				line-height: 50px;
			}
			.list:nth-child(1)
			{
				background-color: #0000FF;
			}
			.list:nth-child(2)
			{
				background-color: #A52A2A;
			}
			.list:nth-child(3)
			{
				background-color: #FAEBD7;
			}
		</style>
	</head>
	<body>
		<div class="container">
			<div class="list">1</div>
			<div class="list">2</div>
			<div class="list">3</div>
		</div>
	</body>
</html>

flex-direction:row
效果:
在这里插入图片描述

row-reverse:表示的是横向排列,但是顺序是倒序的,3-2-1

flex-direction:row-reverse
效果:
在这里插入图片描述

column:表示的是子项目按列的形式排列 1-2-3

flex-direction:column
效果:
在这里插入图片描述

column-reverse:表示的是按列排序,顺序倒序3-2-1

flex-direction:column-reverse
效果:
在这里插入图片描述

  • flex-wrap: nowrap | wrap | wrap-reverse

flex-wrap:用来控制项目列表是否换行,默认是nowrap不换行

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex布局</title>
		<style type="text/css">
			.container {
				width: 200px;
				height: 200px;
				background-color: #7FFFD4;
				display: flex;
				flex-direction: row;
				flex-wrap: nowrap;
			}

			.list {
				width: 50px;
				height: 50px;
				text-align: center;
				line-height: 50px;
			}

			.list:nth-child(1) {
				background-color: #0000FF;
			}

			.list:nth-child(2) {
				background-color: #A52A2A;
			}

			.list:nth-child(3) {
				background-color: #FAEBD7;
			}

			.list:nth-child(4) {
				background-color: blueviolet;
			}

			.list:nth-child(5) {
				background-color: brown;
			}

			.list:nth-child(6) {
				background-color: cadetblue;
			}
		</style>
	</head>
	<body>
		<div class="container">
			<div class="list">1</div>
			<div class="list">2</div>
			<div class="list">3</div>
			<div class="list">4</div>
			<div class="list">5</div>
			<div class="list">6</div>
		</div>
	</body>
</html>

nowrap:不换行,列表会拍成一排,不换行

flex-wrap:nowrap
效果:
在这里插入图片描述

flex-wrap:wrap 表示换行,当列表拍成一排时超出父容器的宽度的其他元素另换一行。

flex-wrap:wrap
效果:
在这里插入图片描述

flex-wrap:wrap-reverse 第一行会布置在底部。

flex-wrap:wrap-reverse
效果:
在这里插入图片描述

  • flex-flow:是这个flex-direction和flex-wrap的结合简写方式,默认是 row nowrap.

flex-flow:row no-wrap 表示横向排列切不换行。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex布局</title>
		<style type="text/css">
			.container {
				width: 200px;
				height: 200px;
				background-color: #7FFFD4;
				display: flex;
			    flex-flow:row wrap;
			}

			.list {
				width: 50px;
				height: 50px;
				text-align: center;
				line-height: 50px;
			}

			.list:nth-child(1) {
				background-color: #0000FF;
			}

			.list:nth-child(2) {
				background-color: #A52A2A;
			}

			.list:nth-child(3) {
				background-color: #FAEBD7;
			}

		</style>
	</head>
	<body>
		<div class="container">
			<div class="list">1</div>
			<div class="list">2</div>
			<div class="list">3</div>
		</div>
	</body>
</html>

flex-flow:row wrap这种写法同,flex-direction:row;flex-wrap:wrap;结合

效果
在这里插入图片描述

  • justify-content :flex-start | flex-end | center | space-between |space-around| space-evenly

用于控制项目在横轴的对齐方式,默认是flex-start为左对齐

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex布局</title>
		<style type="text/css">
			.container {
				width: 200px;
				height: 200px;
				background-color: #7FFFD4;
				display: flex;
				justify-content: flex-start;
			}

			.list {
				width: 50px;
				height: 50px;
				text-align: center;
				line-height: 50px;
			}

			.list:nth-child(1) {
				background-color: #0000FF;
			}

			.list:nth-child(2) {
				background-color: #A52A2A;
			}

			.list:nth-child(3) {
				background-color: #FAEBD7;
			}

			.list:nth-child(4) {
				background-color: blueviolet;
			}

			.list:nth-child(5) {
				background-color: brown;
			}

			.list:nth-child(6) {
				background-color: cadetblue;
			}
		</style>
	</head>
	<body>
		<div class="container">
			<div class="list">1</div>
			<div class="list">2</div>
			<div class="list">3</div>
			<div class="list">4</div>
			<div class="list">5</div>
			<div class="list">6</div>
		</div>
	</body>
</html>

justify-content:flex-start 左对齐

效果:
在这里插入图片描述

justify-content:flex-end 右对齐

在这里插入图片描述

justify-content:center表示居中显示

效果:
在这里插入图片描述

justify-content:space-between表示的是左右两端对齐,左右没有间隙,项目列表之间的距离相等

效果:
在这里插入图片描述

space-around是项目之间距离为左右两侧的两倍

justify-content:space-around;
在这里插入图片描述

justify-content:space-evently 项目与与项目以及项目于容器之间的间距相同。

justify-content:space-evently
效果:
在这里插入图片描述

  • align-items : flex-start | flex-end | center | baseline | stretch

用于控制项目在纵轴排列方式,默认是stretch,如果项目没有设置高度,或者高度为auto,则占满整个容器。下面的项目高度设置为auto

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex布局</title>
		<style type="text/css">
			.container {
				width: 200px;
				height: 200px;
				background-color: #7FFFD4;
				display: flex;
				align-items: stretch;
			}

			.list {
				width: 50px;
				height: 50px;
				text-align: center;
				line-height: 50px;
			}

			.list:nth-child(1) {
				background-color: #0000FF;
				height: auto;
			}

			.list:nth-child(2) {
				background-color: #A52A2A;
				height: auto;
			}

			.list:nth-child(3) {
				background-color: #FAEBD7;
				height: auto;
			}

		</style>
	</head>
	<body>
		<div class="container">
			<div class="list">1</div>
			<div class="list">2</div>
			<div class="list">3</div>
	
		</div>
	</body>
</html>

align-items:stretch

效果:
在这里插入图片描述

align-items:flex-start 纵轴方向上是左对齐

在这里插入图片描述

align-items:flex-end是纵轴方向上是右对齐,则将在左下角排列

效果:
在这里插入图片描述

align-items;center表示在纵轴方向是居中显示.

在这里插入图片描述

align-items:basline按照列表项中的第一个文字为基准排列

在这里插入图片描述

  • align-content : flex-start | flex-end | center | space-between | space-around | space-evenly | stretch(默认);

align-content用来控制多行项目,如果只有一行不会起作用。
效果与align-items类似。

项目属性

上面介绍完容器属性了,下面介绍的是项目属性,容器属性是加在容器中的,那项目属性就是加在项目列表中的.

1.order

取值:默认是0,用于决定项目排列顺序,数值越小,项目排列越靠前。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex布局</title>
		<style type="text/css">
			.container {
				width: 200px;
				height: 200px;
				background-color: #7FFFD4;
				display: flex;
				align-items:baseline;
			}

			.list {
				width: 50px;
				text-align: center;
				height: 50px;
				line-height: 50px;
			}

			.list:nth-child(1) {
				background-color: #0000FF;
				height: auto;
				order: 5;
			}

			.list:nth-child(2) {
				background-color: #A52A2A;
				order: 1;
			}

			.list:nth-child(3) {
				background-color: #FAEBD7;
				order: 2;
			}

		</style>
	</head>
	<body>
		<div class="container">
			<div class="list">1</div>
			<div class="list">2</div>
			<div class="list">3</div>
	
		</div>
	</body>
</html>

分别给项目加上order属性并设置不同的值,第一个赋上5,第二个赋上1,第三个赋上2,那么按照越小越大排列顺序就是 2 - 3 - 1

在这里插入图片描述
2.flex-grow

取值:默认是0,用于决定项目剩余空间情况下是是否放大,默认是不放大,注意:即使设置了固定宽度,也不会放大。
分别给三个项目的flex-group设置0,1,2,看一下效果

在这里插入图片描述
3.flex-shrink

取值:默认1,用于决定项目在空间不足(父级容器太小时)时是否缩小,默认项目都是1,即空间不足时大家一起等比缩小(flex-shrink:1)才会一起缩小;注意:即使设置了固定宽度,也会缩小。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex布局</title>
		<style type="text/css">
			.container {
				width: 50px;
				height: 50px;
				background-color: #7FFFD4;
				display: flex;
				align-items:baseline;
			}

			.list {
				width: 50px;
				text-align: center;
				height: 50px;
				line-height: 50px;
			}

			.list:nth-child(1) {
				background-color: #0000FF;
				height: auto;
				flex-shrink: 1;
			}

			.list:nth-child(2) {
				background-color: #A52A2A;
				flex-shrink: 1;
			
			}

			.list:nth-child(3) {
				background-color: #FAEBD7;
	
	             flex-shrink: 1;

		</style>
	</head>
	<body>
		<div class="container">
			<div class="list">1</div>
			<div class="list">2</div>
			<div class="list">3</div>
	
		</div>
	</body>
</html>

上面我给父级容器设置的宽度为50px,项目列表的flex-shrink都是设置的是1,看一下效果:
在这里插入图片描述

如果其中改变其中一项flex-shrink的值就会发生另一种变化,设置为0不会根据父级元素的缩小发生变化。

效果:
在这里插入图片描述

  • flex-basis

取值:默认是auto,用于设置项目宽度,默认auto时,项目会保持默认宽度,或者以width为自身宽度,但如果设置了flex-basis,权重会比width属性高,因此会覆盖width属性。

flex-basis:auto;
width:60px;

.list:nth-child(1) {
				background-color: #0000FF;
				flex-basis: auto;
				width: 60px;
				height: auto;
			}

效果:
在这里插入图片描述

如果设置成这样的形式:
flex-basis:80px;
width:60px;
由于flex-basis要比width的权重高会使用flex-basis的宽度

.list:nth-child(1) {
				background-color: #0000FF;
				flex-basis: 80px;
				width: 60px;
				height: auto;
			}

效果:
在这里插入图片描述

  • flex

取值:默认0 1 auto 是flex-grow ,flex-shrink 与 flex-basis的三个简写,用于项目放大,缩小,与宽度。
该属性有两个快捷值,分别是auto (1 1 auto) 等分放大缩小,与none(0,0,auto)不放大不缩小。

-align-self

取值:auto(默认) | flex-start | flex-end | center | baseline | stretch,表示继承父容器的align-items属性。如果没父元素,则默认stretch。

CSS之flex布局 </div>.item1 {.item2 {.item3 {.item4 { 阅读详情

相关推荐

Linux CentOS 8系统离线升级内核版本

CentOS 8操作系统离线场景下升级内核版本

WQwinter的博客 3237

简单易懂的 flex 布局技巧:前面盒子左对齐,后面盒子右对齐

简单易懂的 flex 布局技巧:前面盒子左对齐,后面盒子右对齐

希望看完文章的你能够带着答案离开。 1万+

AI智能体升级实战:从规则匹配到Function Call,准确率提升86%的技术选型之路

AI智能体升级实战:从规则匹配到Function Call的技术演进 文章记录了AI邮件助手从传统规则匹配升级到Function Call的技术迭代过程。通过案例分析,揭示了规则匹配的三大核心问题:覆盖不全(用户表达千变万化)、组合困难(多条件容易漏掉)、维护噩梦(每个需求都要新增规则)。测试数据显示,规则匹配在复杂查询中的准确率仅51%,严重影响用户体验。 技术团队对比了三种升级方案:1) 继续优化规则匹配(天花板明显);2) 微调专用NLP模型(成本高);3) 采用Function Call(灵活高效)

yweng18的博客 1079

关于Flex布局换行后靠左对齐的方式

这里不推荐使用grid布局,因为grid支持包版本浏览器,其次在布局的时候不灵活,用他写写移动端就知道了,flex虽然是单一的,但是他的灵活性和兼容性好,不会出现奇奇古怪的问题,出现问题flex调试起来也方便。既然谈到了grid,正好说说他和flex的区别。既然用了这个靠左对齐,就来谈一下。

w2898的博客 4380

基于 LSTM 的船舶轨迹预测,单步预测

基于 LSTM 的船舶轨迹预测,单步预测

fyuhao的博客 1万+

跟着团子学SAP EPPM:项目管理常见的集成场景(PPM\PS\MS Project)

在SAP的EPPM解决方案中,针对企业战略级别的投资组合管理首先是定义合适的投资组合的层级结构,在投资组合下可以通过不同维度去定义投资篮(Portofolio Bucket)进行层层拆分,在最下层级的投资篮下可以分配明细的投资项(Portofolio Item),投资项可以是独立的一个一个具体执行的项目,也可以是单纯的一次服务等等。 今天主要聚焦在投资项的维度展开讲一下在SAP中投资项常见的几种集成模式: 集成场景1:使用PPM中的Project Management进行项目管理 第一个场景是在创建投资项

Lucas1211的博客 4139

【CSS】flex布局使得一个元素向左靠齐,两个以上元素向右靠齐

【CSS】flex布局使得一个元素向左靠齐,两个以上元素向右靠齐

qq_57566743的博客 3268

【Flink】Flink 消费一段时间1万多条数据就卡死

我们有个现场环境,发现了奇怪的现象,就是每次启动任务后,消费1万多条数据后就会卡死,然后整个流不消费,也不往下输出,看起来卡死了一样。缺图这里面出现的网闸原因导致的,但是经过我们写了一个简单的kafka消费程序,然后在出问题的节点上消费数据,实际排查,发现不是这个问题。这个问题,发现也不是,这段时间没有进行过kafka数据清理。里面的问题。因为这个问题,我们后面的代码刻意规范了,不这样操作。后来是在没办法了,然后我们dump了线程,发现有如下代码。

九师兄 351

flex布局(分布在两边)(靠左显示)(靠右显示)(元素换行后的对齐方式)(是否换行显示 )

flex布局(分布在两边)(靠左显示)(靠右显示)(元素换行后的对齐方式)(是否换行显示 )设置元素换行后的对齐方式。两端对齐,中间自适应。设置元素是否换行显示。

weixin_51494148的博客 2753

18、Excel VBA编程:自定义函数创建与代码调试全攻略

本文详细介绍了Excel VBA中自定义函数的创建方法,以获取单元格注释为例演示了完整开发流程,并深入讲解了代码调试的重要性与核心工具。内容涵盖三种主要错误类型及其应对策略,系统介绍了调试工具栏、断点、逐行执行、Locals窗口、Immediate窗口等实用功能。通过综合案例展示了如何运用调试技术解决实际问题,并总结了提前规划、逐步测试、日志记录等最佳实践,帮助读者提升VBA编程效率与代码质量。

life6的博客 100

Python从0到100(一):初识Python及安装Pycharm

Python从0到100(一):初识Python及安装Pycharm。Python是由荷兰人吉多·范罗苏姆(Guido von Rossum)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编程语言。

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 8万+

Flex布局使最后一行居左

如何解决在使用flex布局时,最后一行没有居左展示,并产生错位的问题?

Moon Star 3930

结构化数据特征构建神器openfe的实战代码

最近订阅专栏的几位同学一起参加了AI比赛,该比赛的数据形式是结构化的。随着特征和模型的不断迭代优化,达到了一个难以跨越的瓶颈。希望我能够给出一些有效的方法,帮助他们提高成绩。在个人的调研和体验后,向他们推荐了结构化数据特征构建神器openfe,最终也帮助他们提升了十来名的成绩,个人也感到十分的欣慰。特意写此博客,希望能够帮助更多的同学。 文章目录 1. 安装 2. 实战例子一 3. 实战例子二

herosunly的博客 3万+

flex布局及flex实现常见的前端布局

文章目录flex布局一、flex容器属性1、flex-direction2、flex-wrap3、flex-flow4、justify-content5、align-items6、align-content二、项目属性1、order**2、flex-grow****3、flex-shrink**4、flex-basis5、flex筛子布局单个Flex项两个Flex项三个Flex项六个Flex项九个Flex项 flex布局 flex布局两个属性,容器和项目。 一旦我们开启弹性布局后,项目(也就是设为dispa

song854601134的博客 4294

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Flex布局

​ Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。行内元素也可以使用 Flex 布局。

2203_75479159的博客 2158

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

flex布局一行三个_CSS Flex布局

Flex之前在flex布局出现以前,css布局大致就以下几种布局:主要使用:normal flow 正常流、文档流float + clearfixposition: relative + position: absolutedisplay: inline-block负 marginFlex来了!css3新的布局方式——Flex布局!CSS3提供了一个额外的布局系统。在这个新的框模型中,框的子代采用...

weixin_39636079的博客 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

flex布局以及grid布局

总结:flex与grid布局是网页上的标签布局的灵活布局,会随着设定而产生特定的布局方式,在实现布局中经常使用,其中flex布局的的使用频率会比grid布局多,但是grid布局会更好的实现留白效果,在布局可以融会贯通,灵活使用。space-between:相邻元素的间距相同,首位元素在起始点、终止点靠齐。space-between:相邻主轴的间距相同,首位元素在起始点、终止点靠齐。flex-start(默认值):每根主轴靠齐容器交叉轴方向的。flex-end:每根主轴靠齐容器交叉轴方向的。

chyb918的博客 1961

flex布局 flex全解 flex

一、Flex布局是什么? Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为Flex布局。 .box{ display: flex; } 行内元素也可以使用Flex布局。 .box{ display: inline-flex; } Webkit内核的浏览器,必须加上-webkit前缀。 .box{ display: -webkit-flex; /* Safari */ display: flex; } 注

厚渡 6853

布局之flex布局

为什么需要flex布局?答案是传统的div来实现自适应布局的局限性大,基于盒状模型,依赖 display 属性 + position属性 + float属性。而flex 布局,可以简便、完整、响应式地实现各种页面布局。一比较,优势出来了,废话少说,直接开始。 1.了解flex布局:    flex布局是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 块级元素...

weixin_45369499的博客 709
上一篇: HTML中的文档流
下一篇: 外边距问题
枫叶在飘呀
博客等级 码龄7年 96粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值