前端的学习-CSS(二)-弹性盒子-flex

一:子元素的属性

order:项目的排列顺序,数值越小,排列越靠前,默认为0。

flex-grow:定义项目的放大比例,默认为 0 ,即如果存在剩余空间,也不放大。

flex-shrink:属性定义了项目的缩小比例。

flex-basis::在分配多余空间之前,项目占据的主轴空间。

align-self:允许单个项目有与其他项目不一样的对齐方式。

1:order项目排列顺序

order:项目的排列顺序,数值越小,排列越靠前,默认为0。

css 复制代码
.item {
    order: 属性值;
}

现在给1号盒子设置order:3;这将使1号盒子排在最后面。如下

html 复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>弹性布局</title>
		<style type="text/css">
			.main-box {
				width: 800px;
				height: 300px;
				background-color: aquamarine;
				margin: 0 auto;
				/* 设置弹性盒子 */
				display: flex;
				/* 设置交叉轴方向 */
				align-items: stretch;
				flex-wrap: wrap;
				align-content: stretch;
			}

			.main-box>div {
				width: 100px;
				/* height: 50px; */
				border: 1px solid red;
				font-size: 20px;
				color: #000;
			}

			.main-box>.box1 {
				order: 3;
			}
		</style>
	</head>
	<body>
		<div class="main-box">
			<div class="box1">1</div>
			<div class="box2">2</div>
			<div class="box3">3</div>
		</div>
	</body>
</html>
2:flex-grow项目放大比例

flex-grow:定义项目的放大比例,默认为 0 ,即如果存在剩余空间,也不放大。

现在给1号盒子设置flex-grow:2;效果如图。

如果所有项目的 flex-grow 属性都为1,则它们将等分剩余空间。如果一个项目的 flex-grow 属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

css 复制代码
.main-box>.box1 {
		flex-grow: 2;
}
3:flex-shrink项目缩小比例

flex-shrink:属性定义了项目的缩小比例。

如果所有项目的 flex-shrink 属性都为1,当空间不足时,都将等比例缩小。如果一个项目的 flex-shrink 属性为0,其他项目都为1,则空间不足时,前者不缩小。

语法:

css 复制代码
选择器 {
    flex-shrink: number; 
}
css 复制代码
.main-box>.box1 {
	flex-shrink: 1;
}

.main-box>.box2 {
	flex-shrink: 0;
}

.main-box>.box3 {
	flex-shrink: 0;
}
4:flex-basis属性

flex-basis::在分配多余空间之前,项目占据的主轴空间。

flex-basis 属性定义了在分配多余空间之前,项目占据的主轴空间。它的默认值为 auto ,即项目的本来大小。它可以设为跟 width 或 height 属性一样的值,则项目将占据固定空间。

语法:

css 复制代码
选择器{
    flex-basis: 200px;
}
css 复制代码
.main-box>.box1 {
	flex-basis: 200px;
}
5:align-self单个项目对齐方式

align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性。默认 值为 auto ,表示继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch 。

css 复制代码
选择器 {
    align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
css 复制代码
.main-box>.box1 {
	align-self: flex-end;
}
css 复制代码
.main-box>.box1 {
	align-self: center;
}
相关推荐
今日无bug8 小时前
大模型的回答是怎么一个字一个字蹦出来的?前端流式输出解析
前端·llm·agent
计算机魔术师8 小时前
Anthropic 复盘 Claude 模型越权访问真实系统事件并改进对齐与安全措施
前端
掘金者阿豪8 小时前
Seedance 2.0/2.5 虚拟素材能跨 Key 共用吗?一次讲清 Asset ID、账号隔离与 SaaS 素材架构
前端·后端
用户50093768390398 小时前
热敏小票 Web 打印:我在 58/80mm 上折腾的两周
前端·vue.js
XGM8 小时前
一个前端新手的"顿悟"时刻:DOM树、渲染原理和JS动态渲染
前端
东方小月9 小时前
一篇文章带你深入拆解Skill的本质与工程实现,让你不再滥用Skill
前端·人工智能·后端
m4Rk_9 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
xy34539 小时前
Axure9.0 中继器遮罩的核心应用场景(精准适配列表交互)
前端·ui·html·原型·产品设计·axure9.0
天道kabuto9 小时前
记一次 UnoCSS 样式离奇失效的踩坑复盘
前端
前端小张同学9 小时前
AI全栈开发最佳实践💐
前端·后端·架构