我们在css布局的时候经常用到flex:1;

场景1:使具有弹性盒模型对象的子元素都有相同的长度,且忽略它们内部的内容:

在这里插入图片描述

<div id="main">
  <div style="background-color:coral;">红色</div>
  <div style="background-color:lightblue;">蓝色</div>  
  <div style="background-color:lightgreen;">绿色</div>
</div>
<style> 
#main
{
	width:600px;
	height:200px;
	border:1px solid black;
	display:flex;
}
#main div
{
	flex:1;
}
</style>

场景2: 使具有弹性盒模型对象的子元素,自动撑满剩余的父元素的宽度
在这里插入图片描述

<div id="main">
  <div style="background-color:coral;">红色</div>
  <div style="background-color:lightblue;">蓝色</div>  
  <div style="background-color:lightgreen;flex:1">绿色flex:1</div>
</div>
<style> 
#main
{
	width:600px;
	height:200px;
	border:1px solid black;
	display:flex;
}

#main div
{
   width:100px;
}
</style>

flex属性值:

属性
flex-grow一个数字,规定项目将相对于其他灵活的项目进行扩展的量。
flex-shrink一个数字,规定项目将相对于其他灵活的项目进行收缩的量。
flex-basis项目的长度。合法值:“auto”、“inherit” 或一个后跟 “%”、“px”、“em” 或任何其他长度单位的数字。
1与 1 1 0相同。
auto与 1 1 auto相同。
none与 0 0 auto相同。
initial设置该属性为它的默认值,即为 0 1 auto。
inherit从父元素继承该属性。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐