重学flex布局

14 篇文章 0 订阅

flex布局。永远的神

align-items

  1. align-items定义为交叉轴的对齐方式,当我们的flex-wrap为nowrap也就是默认不会换行时候,center是会垂直于整个父盒子的。

  2. 而当我们设置flex-wrap为wrap,也就是有了好几个轴的时候会怎样呢?

示例一:不设置父盒子高度

父盒子:

.flex {
	display: flex;
	flex-wrap: wrap; 
	align-items: center;
}

在这里插入图片描述
结论:可以看到各行的子项都在各自行上居中对齐(各行的高度由高度最高的子项决定,flex容器的高度为所有行的高度最高的子项高度之和)。

示例二:设置父盒子高度

父盒子:

.flex {
	height: 500px;
	display: flex;
	flex-wrap: wrap; 
	align-items: center;
}

在这里插入图片描述

结论:这里我们可以看出,子项分为2行,flex容器将交叉轴上的多余空间按行数平均分给每行,然后每行各自按自己所在的行居中对齐(此时的单行效果跟2.1.2中的例子1效果一样)

align-content

上面我们知道,:上面的align-items在交叉轴设置多个轴的时候

如果父盒子没高度,则每一行的高度由最高的盒子撑起,那么此时的其他盒子是关于当前行的最高盒子来居中对齐

如果父盒子有高度,则是把多余的空间平均分配给所有的轴体,再通过每一行的各自高度来居中对齐

那么我们如何不要再参考各自的行了,有多个轴的时候我们希望还是按照父盒子的高度来居中呢?

这时候就得依靠我们algin-content属性了

示例一:不设置父盒子高度
父盒子

.flex {
	display: flex;
	flex-wrap: wrap; 
	align-content: center;
}

在这里插入图片描述
结论:align-content: center看起来并没有起作用,是真的没有起作用吗?我感觉是因为父盒子的高度都是由子盒子来撑开的,哪里还有空间让其对齐呢?

示例二:父盒子有高度
父盒子:

.flex {
	height: 500px;
	display: flex;
	flex-wrap: wrap; 
	align-content: center;
}

在这里插入图片描述

结论:我们可以看到,在flex容器指定高度并且子项为多行时,align-content: center是将子项作为一个整体,然后这个整体在flex容器的交叉轴上居中对齐的。

align-self

单独设置自己在交叉轴的对齐方式

html:
<div class="fa">
    <div class="son1"></div>
    <div class="son2"></div>
</div>

css:
.fa{
    width: 250px;
    height: 200px;
    background-color: wheat;
    display: flex;
    flex-wrap: wrap;
  }
  .son1,.son2{
    background-color: red;
    width: 150px;
    height: 40px;
  }
  .son2{
    width: 50px;
    display: flex;
    align-self: center;
    background-color: gray;
  }

在这里插入图片描述

order

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

.item { order: ; }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pink老师讲解的flex布局是一种用于为盒状模型提供最大灵活性的布局方式,也被称为"伸缩布局"、"弹性布局"、"伸缩盒布局"、"弹性盒布局"。它在移动端和PC端都得到了广泛应用。 使用flex布局可以使页面的布局更加高效和灵活。通过设置flex容器和其内部元素的属性,可以实现自适应布局、弹性伸缩、对齐方式的控制等。flex布局的核心概念包括flex容器和flex项目,其中flex容器用来包裹多个flex项目,而flex项目则是容器内的子元素。 在flex布局中,可以通过设置flex属性来定义项目的伸缩比例、基准大小和顺序等属性。通过设置flex-direction属性可以控制项目的排列方向,而flex-wrap属性用于控制项目的换行行为。而flex-flow属性则是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。 总的来说,学习Pink老师讲的flex布局能够让我们更好地理解和应用这一灵活的布局方式,以提升页面的效果和用户体验。同时,还可以进一步学习其他的CSS知识和各种UI框架的使用,以丰富自己的前端技能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flex布局——pink老师版](https://blog.csdn.net/Tommy__li/article/details/128283549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Flex布局](https://blog.csdn.net/chilanzi/article/details/122943373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值