For this one you need to identify what the flex parent (container) is and set display: flex on it...that's really about it!
Make the squares move left across the screen horizontally like in this image.
Remember that there are 2 ways to shift elements around slightly on the page. Margins and position:relative. Either would work for this. If you choose margin remember that you can use a negative margin. (ie margin-top: -20px;)
Overlap and stagger the squares like in this image.
This one is going to be best solved with Flexbox again (though float: or display:inline-block could be made to work as well). Remember to make the boxes the right width first...then start moving them around.
For this one you will have to use the flex property on your flex children (green, yellow, and blue) for it to work right.
This one is a bit tricksy. Remember that flex-flow can be set to column wrap
as well as row wrap
Setting the widths first will also be helpful, you won't really be able to specify the heights directly...but flex can handle that for you if you set it up right.
Flexbox is not the right way to do this. In fact there is only one way to really do that...and that is with float. Remember that we float the thing we want the text to wrap around. Also remember to start by making all the shapes the right size and shape.