背景
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="../css/reset.css"/> <style type="text/css"> .box{ width: 400px;height: 400px;background: bisque; margin: 50px auto;overflow: hidden; /*转成弹性盒子*/ display: -webkit-flex; display: flex; /*换行,默认交叉轴正向换行*/ flex-wrap: wrap; /*两端对齐,项目之间的间隔都相等*/ justify-content: space-between; /*两端对齐,项目之间的间隔都相等*/ align-content: space-between; } .zxw{ width: 120px;line-height: 50px; text-align: center;color: #fff; height: 50px; background: red; } </style> </head> <body> <!--设置弹性元素的扩展比率来分配剩余空间:--> <!--flex-grow: 0;未设置默认为0--> <ul class="box"> <li id="n1" class="zxw">zxw1</li> <li id="n2" class="zxw">zxw2</li> <li id="n3" class="zxw">zxw3</li> </body> </html>
复制
弹性元素的扩展比率:是让如上演示的弹性元素来分配剩余的空间,
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="../css/reset.css"/> <style type="text/css"> .box{ width: 400px;height: 400px;background: bisque; margin: 50px auto;overflow: hidden; /*转成弹性盒子*/ display: -webkit-flex; display: flex; /*换行,默认交叉轴正向换行*/ flex-wrap: wrap; /*两端对齐,项目之间的间隔都相等*/ justify-content: space-between; /*两端对齐,项目之间的间隔都相等*/ align-content: space-between; } .zxw{ width: 120px;line-height: 50px; text-align: center;color: #fff; /*margin-top: 10px;*/ height: 50px; } #n1{ background: red;width: 50px; } #n2{ background: green;width: 70px; } #n3{ background: blue; width: 100px; } </style> </head> <body> <!--设置弹性元素的扩展比率来分配剩余空间:--> <!--flex-grow: 0;未设置默认为0--> <ul class="box"> <li id="n1" class="zxw">zxw1</li> <li id="n2" class="zxw">zxw2</li> <li id="n3" class="zxw">zxw3</li> </body> </html>
复制
这一行弹性元素占了220个像素,还剩下空间180个像素,那怎样将多余的弹性空间分配给这三个弹性元素呢,那就要设置扩展比率属性(flex-grow)
设置弹性元素的扩展比率来分配剩余空间:
不设置flex-grow属性则flex-grow: 0;(未设置默认为0,)不参与分配剩余空间
这里的1 2 3指的是将剩余的空间(这里剩余180px)分成多少份,并分别占1,2,3份
如这里将剩余的空间分成6份,#n1占1份,#n2占2份,#n3占3份
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="../css/reset.css"/> <style type="text/css"> .box{ width: 400px;height: 400px;background: bisque; margin: 50px auto;overflow: hidden; /*转成弹性盒子*/ display: -webkit-flex; display: flex; /*换行,默认交叉轴正向换行*/ flex-wrap: wrap; /*两端对齐,项目之间的间隔都相等*/ justify-content: space-between; /*两端对齐,项目之间的间隔都相等*/ align-content: space-between; } .zxw{ width: 120px;line-height: 50px; text-align: center;color: #fff; /*margin-top: 10px;*/ height: 50px; } #n1{ background: red;width: 50px; flex-grow: 1; } #n2{ background: green;width: 70px; flex-grow: 2; } #n3{ background: blue; width: 100px; flex-grow: 3; } </style> </head> <body> <!--设置弹性元素的扩展比率来分配剩余空间:--> <!--flex-grow: 0;未设置默认为0--> <ul class="box"> <li id="n1" class="zxw">zxw1</li> <li id="n2" class="zxw">zxw2</li> <li id="n3" class="zxw">zxw3</li> </body> </html>
复制