Android Opera Mini flex未包装
在安卓4.1上,OperaMini33不支持css flex布局。它确实使用了旧的2009 flex标准(显示:-webkit-box),但框线除外:多个强> 我无法断开伸缩线,任何东西都不起作用:Android Opera Mini flex未包装,android,html,css,flexbox,opera-mini,Android,Html,Css,Flexbox,Opera Mini,在安卓4.1上,OperaMini33不支持css flex布局。它确实使用了旧的2009 flex标准(显示:-webkit-box),但框线除外:多个 我无法断开伸缩线,任何东西都不起作用: box-lines: multiple; -webkit-box-lines: multiple; flex-wrap: wrap; -webkit-flex-flow: row; -webkit-flex-flow: wrap; 在其他Android(7)上,它尊重新的flex语法,带有flex-w
box-lines: multiple;
-webkit-box-lines: multiple;
flex-wrap: wrap;
-webkit-flex-flow: row;
-webkit-flex-flow: wrap;
在其他Android(7)上,它尊重新的flex语法,带有flex-wrap:wrap;Caniuse.com显示Opera Mini支持flex,但显然不支持
有人面对过这个问题吗?在数据保存模式之间切换似乎是一种选择,flex在“极限”模式下工作非常理想,但在所有其他3种模式下都不工作。我重新安装了Opera,甚至删除了系统-没有改变
如何在Android 4.1上打破Opera Mini中的弹性线?
这是我的实际代码:
<div class="test">
<div></div>
<div></div>
<div></div>
</div>
.test {
display: -webkit-flex;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-lines: multiple;
box-lines: multiple;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
height: 300px;
margin: 100px auto;
width: 600px;
-webkit-flex-flow: row;
-webkit-flex-flow: wrap;
}
.test > div {
width: 100px;
flex-grow: 1;
background: pink;
height: 200px;
}
.test > div:nth-child(2) {
background: yellow;
}
.test > div:last-of-type {
background: blue;
width: 100%;
}
.测试{
显示:-webkit flex;
显示:-网络工具包盒;
显示器:-moz盒;
显示:-ms flexbox;
显示器:flex;
-webkit盒行:多个;
箱线:多条;
-webkit柔性包装:包装;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
柔性包装:包装;
高度:300px;
保证金:100像素自动;
宽度:600px;
-webkit flex流:行;
-webkit-flex-flow:wrap;
}
.test>div{
宽度:100px;
柔性生长:1;
背景:粉红色;
高度:200px;
}
.测试>分区:第n个子项(2){
背景:黄色;
}
.test>div:类型的最后一个{
背景:蓝色;
宽度:100%;
}
似乎没有人知道答案,所以我分享我的解决方案。
部分解决方案可能是由JS检测浏览器是否支持flex wrap,然后向主体添加一个类,并为此创建单独的样式
这是进行检测的唯一方法,因为Opera Mini在其用户代理中仅在“极端”模式数据保存时包含“Opera Mini”,任何其他情况下Opera Mini都显示为Opera Mobile(但实际上所有Opera Mobile都与最新的flex完美配合)
以下简单代码足以检测flex wrap支持:
var d = document.documentElement.style
if (!('flexWrap' in d) && !('WebkitFlexWrap' in d) && !('msFlexWrap' in d)){
document.getElementsByTagName('body')[0].className+=' not-full-flex-support'
}
答案如下: