You do everything for yourself! This can be done quickly and easily with inline-block s. Have a nice JSfiddle .
Let's explain the code:
.wrapper { text-align: center; font-size: 0; max-width: 1000px; position: relative; margin: 0 auto; }
Now for the internal 50% of the elements:
.left, .right{ display: inline-block; min-width: 300px; width: 50%; font-size: 16px; vertical-align: text-top; }
You might be wondering why font-size enabled. This is due to the fact that there is a slight quirk with this method - if the font size is kept by default, the div will have an annoying gap between them, which cannot be eliminated using the field.

However, adding font-size: 0; to the parent element eliminates this gap. This is strange, and then you need to specify the font size for your children, but it is worth the ease of use.
But still a problem - the blue element is shifted down and will not be photographed from above. This can be fixed with vertical-align: text-top; This will make sure that all Div elements are aligned to the tops, so they lie in a more pleasant pattern. This is another small quirk to keep in mind when using inline blocks. I know that it seems that many things can only be fixed for something so simple, but compared to your other options, using inline-block is the cleanest and easiest way to get around this. (Although, if you prefer, jshanley offers a very good alternative using float elements)

Also, since these children are now treated as text, they are automatically reordered when the window gets too small! No media queries are required. Yay
Good luck.
Alexander Lozada
source share