我在IE11中使用flexbox遇到了一个问题.使用flex-direction: column
flex-items重叠时:
在其他浏览器(chrome,safari)中,它看起来像这样:
这是css:
.container {
display: flex;
flex-direction: column;
}
.flex {
flex: 1 1 0%;
}
Run Code Online (Sandbox Code Playgroud)
这是html:
<div class="container">
<div class="flex">
Hello
</div>
<div class="flex">
World
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我做了一个codepen来演示这个问题:
http://codepen.io/csteur/pen/XMgpad
我错过了什么让这个布局在IE11中不重叠?
我试图使用嵌套的flexbox布局,以便在有一定的空间时实现以下布局:
然后,当没有足够的空间时,右侧应该包裹到行布局而不是列布局,以便在它们换行时并排放置框,例如:
我们的想法是在左侧内容的右侧50%处放置框,这样当它们在下面包裹时,它们的组合大小与左侧内容相同.
但是,我无法通过flexbox弄清楚如何做到这一点.这是我到目前为止所拥有的,但是如果你调整窗口大小,你会发现盒子保持相同的方向:
div {
min-height: 50px;
background: #E7E7E7;
margin: 10px;
}
#wrapper {
display: flex;
flex-wrap: wrap;
}
#left-content {
flex: 2;
min-width: 200px;
}
#right-content {
flex: 1;
min-width: 200px;
}
section {
border: 1px solid #333;
margin: 10px;
}
Run Code Online (Sandbox Code Playgroud) 我有一个flex布局,有两个flex项,显示为rows(flex-direction: column
).这些物品应具有最小高度,但它们应保持与其中一个物体需要生长的高度相同.看到这个小提琴并减小结果窗格的宽度; 这会强制第二个.component
元素增加其高度,但第一个.component
元素的高度保持不变.
是否可以强制柔性物品保持相同的高度?请注意,主要的是两个.component
元素的堆叠,这是我无法实现的flex-direction: column
; flex-direction: row
可能会使相同的高度成为可能,但堆叠不起作用.
这是我到目前为止的结果:
div {
border: 1px solid black;
box-sizing: border-box;
}
.container {
display: flex;
flex-direction: column;
align-content: stretch;
}
.component {
min-height: 300px;
}
.left {
margin-left: 50px;
margin-top: 50px;
margin-right: 100px;
background-color: lightyellow;
}
.right {
margin-left: 100px;
margin-top: -250px;
margin-right: 50px;
background-color: lightgreen;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="component left">
</div>
<div class="component right">
<p>
Lorem ipsum dolor sit …
Run Code Online (Sandbox Code Playgroud)