探讨一下flex取值的问题

本文详细探讨了CSS flex属性的各个部分,包括flex-grow、flex-shrink和flex-basis,通过实例解释了它们如何影响元素在容器中的布局。重点讨论了在不同取值下,元素如何根据空间变化进行放大或缩小,并列举了一些常见的flex简写形式及其全写等效值。
摘要由CSDN通过智能技术生成

首先明确一点是, flex 是 flex-grow、flex-shrink、flex-basis的缩写。

flex-grow定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大

flex-shrink定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小

flex-basis给上面两个属性分配多余空间之前,计算项目是否有多余空间,默认值为auto,即项目本身的
大小

故其取值可以考虑以下情况:

1、研究flex-grow

1)flex:1
首先它对应的完整写法为

flex-grow:1;
flex-shrink:1;
flex-basis:0%;

我们看一个例子,来分析一下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.father {
    
				display: flex;
				width: 600px;
				height: 100px;
				border: 2px solid red;
			}
			.child1 {
    
				width: 100px;
				background-color: #00FFFF;
			}
			.child2 {
    
				width: 200px;
				background-color: yellow;
			}
			.child3 {
    
				width: 100px;
				flex: 1;
				background-color: green;
			}
		</style>
	</head>
	<body>
		<div class
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS中,flex属性用于控制弹性盒子(flexbox)中子元素的伸缩性和分配空间的方式。flex属性的取值有三个参数,分别表示:flex-grow、flex-shrink和flex-basis。 引用中的例子中,设置了一个flex容器(class为.box),其中包含一个子元素(class为.inner)。根据设置的flex-basis为300px,宽度为200px的子元素,flex-basis会覆盖掉width属性。因此,子元素的宽度为300px。 引用中的例子中,父容器的宽度为600px,子元素A的width为140px,flex属性为2 1 0%,子元素B的width为100px,flex属性为2 1 auto,子元素C没有设置width,flex属性为1 1 200px。根据flex属性的计算规则,A元素的宽度为140px,B元素的宽度为100px,C元素的宽度为360px。 引用中的例子中,父容器的宽度为600px,子元素A的width为140px,子元素B的width为100px,子元素C没有设置width,flex属性均为1。根据flex属性的计算规则,三个子元素的宽度会平均分配父容器的剩余空间。因此,A、B、C三个元素的宽度分别为200px。 综上所述,根据不同的flex属性设置,子元素的宽度会有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [flex:1及flex取值的理解](https://blog.csdn.net/weixin_38241212/article/details/108468241)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值