前端的学习-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;
}
相关推荐
OpenTiny社区3 小时前
AI 生成的 Vue 代码,终于能直接用了!
前端·vue.js·github
Z21-X3 小时前
云原生运维实战笔记:华为云计算与网络类服务全景解析
运维·笔记·学习·云原生·华为云
redtank20003 小时前
纯血鸿蒙学习效率三件套实测:背单词艾宾浩斯曲线、时间记录与睡眠辅助
学习·华为·harmonyos
动词ing3 小时前
【学习笔记】51单片机 模块化编程
笔记·学习·51单片机
Ramble_Naylor3 小时前
Rust深度解读:高性能 Web 网关与 Axum 架构剖析
前端·架构·rust
程序员飞哥3 小时前
AI 编程额度怎么用才不浪费?
java·前端·后端
柳杉3 小时前
用 Codex 魔改卡神开源的 AIHOT,我做了个 3D 技术雷达
前端·aigc
王亚博_Abel3 小时前
AI 编程时代怎么选前端框架?同一个应用让 Agent 用 12 种框架各写 5 遍,我整理出这套选型方法
前端·人工智能·前端框架
不在逃避q3 小时前
Chrome 扩展安全攻防实录:从攻击面到防御实践
前端·chrome·安全
砚凝霜3 小时前
保姆级 | CTF Lemon:禁用右键/F12 怎么破?查看源码 + HTML 注释拿 flag
前端·html