flex:1是干嘛的

2024-04-04 14:20
文章标签 flex 干嘛

本文主要是介绍flex:1是干嘛的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直接上图:

在这里插入图片描述
flex:1实际代表的是三个属性的简写,如上图所示。

  1. 其中flex-grow是用来增大盒子的,比如,当子盒子的宽度小于父盒子的宽度,父盒子的剩余空间可以 利用flex-grow来设置子盒子增大的占比;

  2. flex-shrink用来设置子盒子超过父盒子的宽度后,超出部分进行缩小的取值比例

  3. flex-basis是用来设置盒子的基准宽度,并且basis和width同时存在basis会把width干掉,所以flex:1;的逻辑就是用flex-basis把width干掉,然后再用flex-grow和flex-shrink增大的增大缩小的缩小,达成最终的效果。

flex-grow:1

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 500px;height: 100px;background-color: hotpink;display: flex;}.box div {width: 100px;}.box div:nth-child(1) {flex-grow: 1;}.box div:nth-child(2) {flex-grow: 3;}.box div:nth-child(3) {flex-grow: 1;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div></div>
</body>
</html>

flex-shrink:1

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 500px;height: 100px;background-color: hotpink;display: flex;}.box div {width: 200px;}.box div:nth-child(1) {flex-shrink: 1;}.box div:nth-child(2) {flex-shrink: 2;}.box div:nth-child(3) {flex-shrink: 1;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div></div>
</body>
</html>

父盒子的宽度为500,子盒子的宽度为600,超出100,超出的100,如何进行比例缩放

第一个盒子:1/4 * 100 = 25 最终第一个盒子200-25=175
第二个盒子:2/4 * 100 = 50 最终第二个盒子200-50 = 150
第三个盒子:1/4 * 100 = 25 最终第一个盒子200-25=175

flex-basis:0%

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 500px;height: 100px;background-color: hotpink;display: flex;}.box div {width: 100px;}.box div:nth-child(1) {flex-basis: 50px;}.box div:nth-child(2) {flex-basis: 100px;}.box div:nth-child(3) {flex-basis: 50px;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div></div>
</body>
</html>

这样width的宽度就已经被flex-basis:0%干掉了

这篇关于flex:1是干嘛的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876018

相关文章

【CSS】flex布局 - 左边超过打点, 右边完整展示

场景:宽度一定的情况下右边自适应,左边被挤压。 需要的效果如下: flex 的三个参数分别对应:flex-grow、flex-shrink、flex-basis。 flex-grow:定义项目的放大比例,默认为0。即如果存在剩余空间,也不放大。flex-shrink:定义项目的缩小比例,默认为1。即如果空间不足,该项目将缩小。flex-basis:定义在分配多余空间之前,项目占据的主轴空间。

关于Apache Flex 4.12

[转载]Apache Flex 4.12 正式版发布 (2014-03-12 17:44:34) 转载▼ 标签: apacheflex4.12 sdk it 分类:Flash平台 原文地址:Apache Flex 4.12 正式版发布! 作者:  Dark_Stone 此文章由 周戈 (DarkStone) 原创 ,转载请注明来源! 日期: 2014-03

css弹性盒子——flex布局

目录 ​编辑 一、flex容器的样式属性(父元素属性)  display:flex  弹性盒子,实现水平排列,在父盒子设置,适用于单行/单列 justify-content 二、flex元素的样式属性(子元素属性) 1.flex-grow  2.flex-shrink 3.flex-basis 4.flex组合属性 flex:flex-grow flex-shrink f

小程序 flex 布局框架(源码分享)

源码摘自小编的原创文章《小程序全局样式(app.wxss 源码分享)》, 文章链接:https://blog.csdn.net/u013350495/article/details/93141910 在线示例:http://www.jq22.com/jquery-info19340 /* 列式弹性盒子 */.flex_col {display: flex;flex-direction: ro

Flex导致设置的width:100%不生效问题

因为设置了display: flex; 导致block布局变成了flex布局, 所以如果想要在已经设置了flex布局的基础上,再进行子元素的宽100%设置的话,可以应用下面的样式:(在该子元素上设置) flex-shrink: 0;width: 100%; 这样就可以生效了。

前端面试:CSS里的visibility属性有个collapse属性值是干嘛用的?在不同浏览器下以后什么区别?

在CSS中,visibility属性用于控制元素的可见性。它有几个可能的值,其中之一是collapse。以下是关于collapse属性值的详细说明及其在不同浏览器中的表现: visibility: collapse 的作用 作用:visibility: collapse主要用于表格元素(如<table>、<tr>、<td>等)。当应用于表格行或单元格时,它会使该行或单元格在视觉上消失,并且会从

Flutter 小技巧之 Row/Column 即将支持 Flex.spacing

事实上这是一个相当久远的话题,如果对于前因后果不管兴趣,直接看最后就行。 这个需求最早提及应该是 2018 年初在 #16957 被人提起,因为在 Flutter 上 Wrap 有 runSpacing 和 spacing 用于配置垂直和水平间距,而为什么 Colum 和 Row 这样更通用的控件居然没有 spacing 支持? 而后在 2020 年,Flutter 在 #55378 用户希望

一些flex技术开发的基础入门知识

学习flex技术开发有别于学习其他的软件或者是操作系统知识内容,因为flex开发本身是既涉及到了flex技术的一些专业知识内容,但是同时又和相关的一些软件操作有一定的关联。而要想使得自己在完成flex技术开有关的操作的时候能够达到好的操作效果,那么自己在操作flex技术开发的似乎务必要注意掌握一些flex技术开发的基础入门知识,比如说:   std::string CBackupMbdb::sm

flex自定义组件和自定义事件

看了一个帖子,自己写了一下。主要讲了自定义组件跟自定义事件。先看一下自定义事件。就跟在殿堂之路中写道一样。代码如生活,理解代码就如理解生活一样一样的。什么是事件,事件是怎么运作的呢?我是这样理解的:比如去了一家餐馆就餐,首先要制定服务员:我要求穿白裙子的那个美女为我服务(端茶倒水,上菜);所以我落座后,说的话,都是穿白裙子妹妹,暂且叫,白美美。这里指定服务员就比如在程序里注册事件监听器。