是这样的
<div class="container">
<div class="floating">
<img src="image" alt="">
<p>
text...
</p>
</div>
<div class="floating">
<img src="image" alt="">
<p>
text...
</p>
</div>
</div>
我希望"浮动"的div浮动在对方的左侧,即使他们正在溢出他们的容器。
我试着在浮动的div上使用"float:left",但是不起作用,它们互相堆叠。
所以,我找到了一个变通方法,在浮动元素上使用"display:inline-block",在容器上使用"white-space:nowrap",它可以工作,但对我的情况没有帮助。
.container{
width:600px;
border:2px solid black;
overflow:hidden;
display:block;
white-space:nowrap; /* delete this and see the actual floating divs layout*/
}
.floating{
width:66%;
display: inline-block;
}
img{
width:120px;
height:120px;
float:left;
}
事实上,"whit-space:nowrap"阻止了我的文本在浮动div中环绕imgs,这是最初的意图。"whit-space:nowrap"做了它应该做的事情,所以这个技巧似乎只有在一个人不关心将内容环绕在div中时才起作用。
总而言之,如果我保留了空格属性,我的两个div会像它们应该的那样浮动,但是它们里面的内容会被弄乱;如果我不使用这个属性,div里面的内容会被保留,但是它们不会浮动。
https://jsfiddle.net/8n0um9kz/
有什么办法能让我得到我想要的吗?
谢谢。
PS:我在例子中使用了66%的宽度作为浮动div,这样你就可以同时看到它们,当然,在我的例子中,它们是100%的。
2条答案
按热度按时间8ftvxx2r1#
是的,你有办法。
不要使用“空白:可以使用**'显示:柔性“”和“”柔性 Package :wrap '**on这容器到允许这项目到下一行当他们到达这容器的末端. further use 'justify-content:伸缩-开始'
5gfr0r5j2#
我是这样弄的。
关键是在容器上使用“min-width”而不是“width”和“display:flex”。
无需使用块显示、删除浮动、对齐内容或 Package /展开任何内容。
'对齐项目:flex-start'只有在浮动div应该保持它们各自的高度时才需要,否则它们将采用最高div的高度。这不是问题,除非您为浮动div使用与容器不同的背景颜色。
https://jsfiddle.net/b83rzL07/1/
谢谢。