.wrapper {
width: 500px;
}
.image {
display: inline-block;
width: 50%;
height: 100px;
background: red;
}
.image1 {
float: left;
width: 50%;
height: 50px;
background: yellow;
}
.image2 {
float: left;
width: 50%;
height: 50px;
background: red;
}
<div class="wrapper">
<div class="image"></div>
<div class="image1"></div>
<div class="image2"></div>
</div>
https://jsfiddle.net/8akzqx3p/
What I originally thought was that image2 was just below image1. However, it is far below. I found this reason in the W3C specs, but I don't know what this means.
https://www.w3.org/TR/CSS21/visuren.html#floats
If there is not enough horizontal room for the float, it is shifted downward until either it fits or there are no more floats present.
But I don't know what it means, especially "either it fits or there are no more floats present"