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

相关文章

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

【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>等)。当应用于表格行或单元格时,它会使该行或单元格在视觉上消失,并且会从