las*_*ejl 8 html css safari css3 flexbox
所以我有一个带有列和最大高度的flexbox,使列在3列中彼此相邻.
这在Chrome中运行良好,但在Safari中,它似乎只使用最后(最右边)列来设置容器的实际高度.
我在这里举了一个例子:
section {
display: flex;
flex-direction: column;
flex-wrap: wrap;
max-height: 400px;
padding: 10px;
border: 1px solid green;
}
div {
flex-basis: 100px;
width: 100px;
background-color: red;
margin: 10px;
}Run Code Online (Sandbox Code Playgroud)
<section>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</section>Run Code Online (Sandbox Code Playgroud)
Chrome和Safari中的结果将在下方进行屏幕截图.
铬:
苹果浏览器:
这似乎是一个明显的错误,但我找不到任何有关它的信息.
我想知道的是:
如关于flexbox的Safari问题的另一个答案所述,由于flex相对较新(CSS3),因此并非所有浏览器都能按预期运行。在某些浏览器中,根据所应用属性的组合,部分或完全不支持弹性布局。
在这种情况下,Safari只是拒绝max-height: 400px在flex容器上进行确认。但是,如果flex容器没有响应,则可以从父级获得帮助。
这是您现在所在的位置:
section {
display: flex;
flex-direction: column;
flex-wrap: wrap;
max-height: 400px; /* not working in Safari */
width: 400px;
padding: 10px;
border: 1px solid green;
}
Run Code Online (Sandbox Code Playgroud)
尝试以下方法:
body {
display: flex;
max-height: 400px;
}
section {
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 400px;
padding: 10px;
border: 1px solid green;
}
Run Code Online (Sandbox Code Playgroud)
section {
display: flex;
flex-direction: column;
flex-wrap: wrap;
max-height: 400px; /* not working in Safari */
width: 400px;
padding: 10px;
border: 1px solid green;
}
Run Code Online (Sandbox Code Playgroud)
body {
display: flex;
max-height: 400px;
}
section {
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 400px;
padding: 10px;
border: 1px solid green;
}
Run Code Online (Sandbox Code Playgroud)
要记住的另一件事是column wrap具有许多错误的Flex布局。这可能是当今Flexbox中漏洞最多的区域。这是另外两个示例:
| 归档时间: |
|
| 查看次数: |
3030 次 |
| 最近记录: |