Flexbox - 灵活性
flex-basis
我们使用 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 因子。如果容器中有多余的空间,它会指定特定弹性项目应增长多少。
<!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 属性来设置 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。使用此属性,您可以同时将值设置为 flex-grow、flex-shrink 和 flex-basis 值。以下是此属性的语法。
.item { flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] }