Flexbox 灵活性
弹性基础
我们使用
flex-basis 属性来定义空间分配前 flex-item 的默认大小。
以下示例演示了 flex-basis 属性的用法。在这里,我们创建了 3 个彩色框并将它们的大小固定为 150 像素。
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-basis:150px; }
.box2{background:blue; flex-basis:150px;}
.box3{background:red; flex-basis:150px;}
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
flex-grow
我们使用
flex-grow 属性来设置
flex-grow 因子。如果容器中有多余的空间,它会指定一个特定的 flex-item 应该增长多少。
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-grow:10; flex-basis:100px; }
.box2{background:blue; flex-grow:1; flex-basis:100px; }
.box3{background:red; flex-grow:1; flex-basis:100px; }
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
弹性收缩
我们使用 flex-shrink 属性来设置 flex
shrink-factor。如果容器中没有足够的空间,它会指定一个 flex-item 应该缩小多少。
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-basis:200px; flex-shrink:10}
.box2{background:blue; flex-basis:200px; flex-shrink:1}
.box3{background:red; flex-basis:200px; flex-shrink:1}
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
弹性
有一个速记可以同时为所有这三个属性设置值;它被称为
flex。使用此属性,您可以一次将值设置为 flex-grow、flex-shrink 和 flex-basis 值。这是此属性的语法。
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}