How to set up the styles correctly so that on the small screen the blocks v1 and v2 are always in line horizontally? Just like in the picture: 
At the same time, on the big screen not to break such an alignment: 
In the code below, on a small screen, it works correctly only in a short interval, but otherwise it breaks:
<style> @media screen and (min-width: 428px) { /*Большой экран*/ #aaa {float: left; width: 230px;} #vs1 {display : none;} #bbb {float: left; width: 170px;} #vs2 {display : block; clear: left;} #ccc {clear: left;} } @media screen and (max-width: 428px) { /*Маленький экран*/ #aaa {width: 400px;} #vs1 {display: block;} #vs2 {display: none;} #bbb {width: 400px;} } </style> </head> <body> <div id="ab" style=""> <div id="aaa" style="height: 200px; background-color: lightgreen; opacity: 0.3;">A</div> <div id="vs1"> <div id="v1" style="float: left; width: 300px; height: 40px; background-color: orange; opacity: 0.3;">v1</div> <div id="v2" style="float: left; width: 100px; height: 40px; background-color: khaki; opacity: 0.3;">v2</div> </div> <div id="bbb" style="height: 200px; background-color: lightblue; opacity: 0.3;">B</div> </div> <div id="vs2"> <div id="v3" style="float: left; width: 300px; height: 40px; background-color: brown; opacity: 0.3;">v3</div> <div id="v4" style="float: left; width: 100px; height: 40px; background-color: yellow; opacity: 0.3;">v4</div> </div> <div id="ccc" style="width: 400px; height: 22px; background-color: red;">C</div> </body> 