Flex布局(2)

上次内容我们已近简单介绍过Flex布局及他的一些基本属性,今天在昨天的基础上,让我们再深入了解一下吧!

1、水平垂直居中

justify-content: center 让子盒子item在水平方向居中

align-items: center 让子盒子item在垂直交叉轴方向居中

想要实现水平垂直居中,首先要知道到底是以谁为基准,也就是说要在哪个里面实现垂直居中

这是让粉色盒子在红色边框的盒子中水平居中,所以红色边框盒子作为基准,设置属性值。

当我想要红色边框的盒子也在页面的显示水平垂直居中,那么现在浏览器就作为了基准,那么我们就要在body中设置属性值。

☆要记得给body设置高度


2、align-content 定义了多根轴线的对齐方式

如果项目只有一根轴线,该属性不起作用。

flex-start

与交叉轴的起点对齐

flex-end

与交叉轴的终点对齐

center

与交叉轴的中点对齐

space-between

与交叉轴两端对齐,轴线之间的间隔平均分布

 space-around

每根轴线两侧的间隔都相等,轴线之间的间隔比轴线与边框的间隔大一倍

stretch

子元素没有设置高度或者高度为auto,轴线占满整个交叉轴

① flex-start


②flex-end


 ③center


④ space-between


 ⑤space-around


 ⑥ stretch


☆以上我们学习的属性都是在父元素上设置,下面要学习的属性都设置在子元素item上。

一、项目元素 item 的属性

1、order 排序

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

当我想让排在第三的“盒子3”往前排列,那么我就在他的元素里加上order: -1;


2、flex-grow 长大

  • 在容器主轴上存在剩余空间时, flex-grow才有意义

  •  该属性的值,称为放大因子
    描述
    0

    默认为0,即如果存在剩余空间,也不放大

     1

    把剩余空间充满

① flex-grow:0


 ②  flex-grow:1


3、flex-shrinik: 缩小

说明
1

默认为1,表示被压缩

0

表示不被压缩,保持设置的尺寸

① flex-shrinik:0

 .item:nth-of-type(2){flex-shrinik:0}  表示第二个项目不被压缩,保持设置的尺寸

只有第二个项目保持了原来的宽度400px,第一个和第三个都默认为1,被缩小


②如果每个项目都设置flex-shrink: 0,将会超出父元素宽度


4、align-self

  • 该属性可覆盖容器的align-items, 用以自定义某个项目的对齐方式

☆在多根轴线下设置无效

说明

 flex-start

 与交叉轴起始线对齐

flex-end与交叉轴终止线对齐

center

与交叉轴中间线对齐: 居中对齐

stretch

在交叉轴方向上拉伸

①  flex-start

.item:nth-of-type(3){align-self:flex-start}


②flex- end

.item:nth-of-type(3){align-self:flex-end}


 ③center

.item:nth-of-type(3){align-self:center}


④stretch

.item:nth-of-type(3){align-self:stretch​​​​​​​​​​​​​​}


5、 flex-basis

flex-basis优先级比width高,同时设置,会展示flex-basis的高度

如果一行排列不下,还是会被压缩宽度,除非设置flex-shrink: 0


6、flex是复合属性,由:flex-grow flex-shrink flex-basis 组成

默认值为flex(0 1 auto)后两个属性可选,

建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现一个flex卡片布局2x2,可以使用flex布局的容器属性和项目属性。首先,我们需要一个级容器,将其设置为`display: flex;`来启用flex布局。然后,我们可以使用`flex-wrap: wrap;`来实现项目的换行。接下来,我们可以通过设置容器的宽度和高度来控制卡片的尺寸。 对于每个卡片项目,我们可以使用`flex-basis`来设置卡片的初始宽度,然后使用`flex-grow`和`flex-shrink`来控制卡片的伸缩性。通过调整这些属性的值,我们可以实现卡片的自适应和平均分配空间。 另外,我们还可以使用`justify-content`和`align-items`来调整卡片在容器中的水平和垂直对齐方式。例如,可以使用`justify-content: space-between;`来实现卡片的横向分布。 综上所述,要实现一个flex卡片布局2x2,可以将容器设置为`display: flex;`,然后使用容器属性和项目属性来控制卡片的尺寸、伸缩性和对齐方式。具体的代码示例和效果可以参考中的图片素材。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [flex弹性布局的理解。](https://download.csdn.net/download/malingshu99/12524097)[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_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【HTML/CSS】弹性盒子 flex布局制作一个动画卡片](https://blog.csdn.net/m0_49442965/article/details/127797747)[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_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值