position:relative; -webkit-box-flex: 1; box-flex: 1; -webkit-flex:1; flex:1;
position:absu; box-flex: 1; -webkit-flex:1; flex:1;
position:relative; -webkit-box-flex: 1; box-flex: 1;
position:relative; box-flex: 1; -webkit-flex:1; flex:1;
<style> ul{ width:200px; height:40px; display:-webkit-box; } /* 这里第一轮 每个li先割分父元素ul 20*3=60px宽度 */ li{ width:20px; } /* 这里第二轮 每个li按比例分割父元素剩余的 200-60=140px宽度 分别为 140*1/7=20px 140*2/7=40px 140*4/7=80px */ li:nth-child(1){ -webkit-box-lex:1; } li:nth-child(2){ -webkit-box-lex:2; } li:nth-child(3){ -webkit-box-lex:4; } /* 最终li宽度分别为 20+20=40px 20+40=60px 20+80=100px */ </style> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> | |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> #b{ width: 300px; background-color: antiquewhite; position: relative; display: -webkit-box;/*平分宽度,如果不设置就是平分高度*/ } #a1,#a2,#a3{ -webkit-box-flex: 1; /*box-flex 属性规定框的子元素是否可伸缩其尺寸*/ /* box-flex: 1; */ /*flex是相对的 如果下面两行注释掉 将不是1:1:1*/ -webkit-flex:1; flex:1; } #a1{ background-color: aqua; } #a2{ background-color: blue; } #a3{ background-color: blueviolet; } </style> </head> <body> <div id="b"> <div id="a1">fsadf</div> <div id="a2">fas</div> <div id="a3">fsadfas</div> </div> </body> </html>
{ -moz-box-flex:1.0; /* Firefox */ -webkit-box-flex:1.0; /* Safari and Chrome */ -ms-flex:1.0; /* Internet Explorer 10 */ box-flex:1.0; border:1px solid red; }
flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。
flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。
注意:如果元素不是弹性盒模型对象的子元素,则 flex 属性不起作用。
语法:flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;