Flex-box 学习
.flex-cont{ /*定义为flexbox的“父元素”*/ display: -webkit-box; display: -webkit-flex; display: flex; /*子元素沿主轴对齐方式居中*/ -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; /*子元素沿侧轴对齐方式垂直居中*/ -webkit-box-align: center; -webkit-align-items: center; align-items: center; /*指定主轴的伸缩流方向是纵向的*/ -webkit-box-orient:vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; } .flex-item{ /*不要给flexbox里的子元素设置“margin:auto”的属性,在部分安卓机下,它会导致该元素的宽度撑开到100%占位*/ /*在旧版的规范中,使用比例伸缩布局时,子元素的内容长短不同会导致无法“等分”,这个时候,我们需要给子元素设置一个“width:0%”来解决问题*/ width: 0%; /*给“子元素”赋予自由伸缩的能力*/ -webkit-box-flex: 1; -webkit-flex: 1; flex:1; }
See the Pen NqMwBN by Leo (@MrLeo) on CodePen.
.icons{ /*flex-box布局,子元素可以按需缩放*/ display: -webkit-box; display: -moz-box; display: -ms-box; display: -o-box; display: box; /*flex-box布局,子元素可以按需缩放*/ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; /*row表示横向排列,wrap表示可以多行显示*/ -webkit-flex-flow:row wrap; -moz-flex-flow:row wrap; -ms-flex-flow:row wrap; -o-flex-flow:row wrap; flex-flow:row wrap; } .icons .ico{ /*flex:1;兼容旧版flex的形式*/ -webkit-box-flex:1; -moz-box-flex:1; -ms-box-flex:1; -o-box-flex:1; box-flex:1; /*flex:auto;自适应*/ -webkit-flex:1 0 auto; -moz-flex:1 0 auto; -ms-flex:1 0 auto; -o-flex:1 0 auto; flex:1 0 auto; }