前端的学习-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;
}
相关推荐
我们的五年1 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
彭世瑜7 分钟前
ts: TypeScript跳过检查/忽略类型检查
前端·javascript·typescript
FØund4048 分钟前
antd form.setFieldsValue问题总结
前端·react.js·typescript·html
Backstroke fish8 分钟前
Token刷新机制
前端·javascript·vue.js·typescript·vue
小五Five10 分钟前
TypeScript项目中Axios的封装
开发语言·前端·javascript
小曲程序10 分钟前
vue3 封装request请求
java·前端·typescript·vue
临枫54110 分钟前
Nuxt3封装网络请求 useFetch & $fetch
前端·javascript·vue.js·typescript
酷酷的威朗普11 分钟前
医院绩效考核系统
javascript·css·vue.js·typescript·node.js·echarts·html5
前端每日三省11 分钟前
面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?
开发语言·前端·javascript
小刺猬_98512 分钟前
(超详细)数组方法 ——— splice( )
前端·javascript·typescript