我有一个带有两个弹性项目的弹性容器:
<div class="container">
<div class="left">Left</div>
<div class="right">Right</div>
</div>
如果小于100px
,项目会浮动到容器的可用空间.container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
outline: 1px solid black;
}
.left {
min-width: 40px;
flex-grow: 1;
}
.right {
min-width: 60px;
flex-grow: 1;
}
现在,我使用display:inline-block:
向左侧项添加一些元素<div class="floater"></div>
<div class="floater"></div>
<div class="floater"></div>
<div class="floater"></div>
.floater {
width: 15px;
height: 10px;
display: inline-block;
}
但是现在,浮动元素会导致弹性项目换行。
编辑:我试图实现的目标:
.container
宽度&lt; 100px =&gt; .right
位于.left
.container
width&gt; = 100px =&gt; .right
和.left
是并排的.left
的内容不会影响左侧的宽度所以,我希望.left
和.right
仅包含小.containers
(即窗口/浏览器很小)。
我创建了一个带有100px容器的fiddle来演示问题。
感谢。
答案 0 :(得分:1)
使用媒体查询。
@media ( max-width: 100px ) {
.container {
flex-direction: column;
}
}
上述规则告诉flex容器在flex-direction: row
宽度为100px或更小时从.container
(默认设置)切换到垂直对齐。
Revised Demo(我在演示中使用max-width: 500px
进行说明)。
根据您的总体目标,您的Flex容器上的flex-wrap: wrap
和width: 100px
规则可能没有必要。
答案 1 :(得分:0)
从flex-wrap: wrap;
移除.container
将根据您的预期进行。
.container {
display: flex;
justify-content: space-between;
width: 100px;
outline: 1px solid black;
}
<强> Fiddle Link 强>