I am a basic block level element. My adjacent block level elements sit on new lines below me.
By default we span 100% of the width of our parent element, and we are as tall as our child content. Our total width and height is our content + padding + border width/height.
We are separated by our margins. Because of margin collapsing, we are separated by the width of one of our margins, not both.
inline elements like this one and this one sit on the same line as one another, and adjacent text nodes, if there is space on the same line. Overflowing inline elements wrap onto a new line if possible — like this one containing text, or just go on to a new line if not, much like this image will do: