CSS display:flex 布局

一、display:flex

display:flex 是一种布局方式。它即可以应用于容器中,也可以应用于行内元素。是W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局。

Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。常用的属性如下:

  • flex-direction容器内元素的排列方向(默认横向排列)
  • flex-wrap 容器内元素的换行(默认不换行)
  • justify-content 元素在X轴上的排列
  • align-items 元素在Y轴方向上的对齐方式
  • align-content 在弹性容器内的元素没有占用交叉轴上所有可用的空间时对齐容器内的各项(垂直)

二、flex-direction容器内元素的排列方向(默认横向排列)

  • 1:flex-direction:row; 沿水平主轴让元素从左向右排列
    在这里插入图片描述

  • 2:flex-direction:column; 让元素沿垂直主轴从上到下垂直排列
    在这里插入图片描述

  • 3:flex-direction:row-reverse;沿水平主轴让元素从右向左排列
    在这里插入图片描述

  • 4:flex-direction:column-reverse; 让元素沿垂直主轴从下到上垂直排列
    在这里插入图片描述

三、flex-wrap 容器内元素的换行(默认不换行)

  • 1:flex-wrap: nowrap; (默认)元素不换行,比如:一个div宽度100%,设置此属性,2个div宽度就自动变成各50%;
    在这里插入图片描述

  • 2:flex-wrap: wrap; 元素换行,比如:一个div宽度100%,设置此属性,第二个div就在第二行了;

在这里插入图片描述

四、justify-content 元素在主轴(页面)上的排列

  • 1:justify-content : center;元素在主轴(页面)上居中排列
    在这里插入图片描述

  • 2:justify-content : flex-start;元素在主轴(页面)上由左或者上开始排列
    在这里插入图片描述

  • 3:justify-content : flex-end;元素在主轴(页面)上由右或者下开始排列
    在这里插入图片描述

  • 4:justify-content : space-between;元素在主轴(页面)上左右两端或者上下两端开始排列

在这里插入图片描述

  • 5:justify-content : space-around;每个元素两侧的间隔相等。所以,元素之间的间隔比元素与边框的间隔大一倍。
    在这里插入图片描述
五、align-items 元素在Y轴上的对齐方式
  • 1:align-items : flex-start; 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界(靠上对齐)。

在这里插入图片描述

  • 2:align-items : flex-end; 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。(靠下对齐)
    在这里插入图片描述

  • 3:align-items : center; 弹性盒子元素在该行的侧轴(纵轴)上居中放置。(居中对齐)
    在这里插入图片描述

  • 4:align-items : baseline; 如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。(靠上对齐)
    在这里插入图片描述

六、align-content 在弹性容器内的元素没有占用交叉轴上所有可用的空间时对齐容器内的各项(垂直)

需要注意子元素和父元素的宽度必须一样,切设置了“flex-wrap: wrap;”

  • 1:align-content: flex-start; 元素位于容器的开头。各行向弹性盒容器的起始位置堆叠
    在这里插入图片描述

  • 2:align-content: flex-end; 元素位于容器的结尾。各行向弹性盒容器的结尾位置堆叠。
    在这里插入图片描述

  • 3:align-content: stretch; 元素位于容器的中心。各行向弹性盒容器的中间位置堆叠
    在这里插入图片描述

  • 4:align-content: center; 默认值。元素被拉伸以适应容器。各行将会伸展以占用剩余的空间。如果剩余的空间是负数,该值等效于’flex-start’。
    在这里插入图片描述
    5:align-content: space-between;元素位于各行之间留有空白的容器内。各行在弹性盒容器中平均分布。
    在这里插入图片描述

  • 6:align-content: space-around;元素位于各行之前、之间、之后都留有空白的容器内。各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于’center’。

在这里插入图片描述

.father {
	width: 50px
	height: 300px;
	background: red;
	
	display: flex;
	flex-wrap: wrap;
	align-content: space-around;
}
.father div {
	width: 50px;
	height: 50px;
}
.children1 {
	background: orange;
}

.children2 {
	background: blue;
}
.children3 {
	background: blueviolet;
}
<div class="father">
	<div children1></div>
	<div children2></div>
	<div children3></div>
</div>
  • 15
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书香水墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值