Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Opera Mini flex未包装_Android_Html_Css_Flexbox_Opera Mini - Fatal编程技术网

Android Opera Mini flex未包装

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

在安卓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-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'
}
答案如下: