/* vizualizálás */
.outer, .inner {
padding: 20px;
}
.outer {
background: red;
width: 240px;
}
.inner {
background: yellow;
width: 80px;
height: 80px;
float: left; /* belső elemek balra floatolva */
}
.inner:nth-child(2) {
background: darkSeaGreen;
}
/* (1) plussz elem clear: both/left/right */
.clear { clear: both }
/* (2) overflow: hidden */
.fix-w-overflow {
overflow: hidden;
}
/* ::after pseudo clear */
.fix-w-pseudoelem::after {
content: '';
display: block;
height: 0;
clear: both;
}
/* csak a bemutatóhoz */
body {
width: 280px;
margin: 0 auto;
cursor: default;
}
p {
font-family: sans-serif;
font-size: .8rem;
text-align: center;
background: darkSlateGray;
color: snow;
padding-top: .333em;
padding-bottom: .333em;
}
.container {
width: 280px;
height: 160px;
}
<p>a probléma</p>
<div class="container">
<div class="outer">
<div class="inner"></div>
<div class="inner"></div>
</div>
</div>
<p>(1) plussz elem clear: both/left/right</p>
<div class="container">
<div class="outer">
<div class="inner"></div>
<div class="inner"></div>
<div class="clear"></div>
</div>
</div>
<p>(2) overflow: hidden</p>
<div class="container">
<div class="outer fix-w-overflow">
<div class="inner"></div>
<div class="inner"></div>
</div>
</div>
<p>(3) ::after pseudo clear</p>
<div class="container">
<div class="outer fix-w-pseudoelem">
<div class="inner"></div>
<div class="inner"></div>
</div>
</div>