最近使用flex布局大体上都没问题,就是一些版本都存在一点兼容问题
尤其是换行的时候,我们来看下面的Less 文件! 各大浏览器兼容都写好了!但是还是存在换行问题 ,看列子
.flex-block() {
display: box; /* OLD - Android 4.4- */
display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.flex-wrap(@wrap: nowrap) {//换行nowrap | wrap | wrap-reverse;换行在最下方开始
-webkit-box-lines: multiple;
-webkit-flex-wrap: @wrap;
-moz-flex-wrap: @wrap;
-ms-flex-wrap: @wrap;
-o-flex-wrap: @wrap;
flex-wrap: @wrap;
}
.flex(@args: none) {
-moz-box-flex: @args; /* Firefox */
-webkit-box-flex: @args; /* Safari 和 Chrome */
box-flex: @args;
-webkit-flex: @args;
-moz-flex: @args;
-ms-flex: @args;
-webkit-flex: @args;
flex: @args;
}
其实主要问题在于,有的手机浏览器不换行,比如腾讯内置的默认浏览器
解决方法:
把
flex 里面的层设置下最小宽度,假如我们设置比列就失去了flex布局自动变化的含义了! 我采用的是直接强制最小的宽度!
则min-width:120px; 加入这个即可!
看下面是横屏和竖屏的自动变化