This is going to be one of those things where a CSS guy would slap his forehead and go "you've got to be kidding me", and for that I apologize. I also apologize for not being able to find a similar question on Stackoverflow when, I'm quite sure, there's got to be one.
Take a look at this JSfiddle: https://jsfiddle.net/kwende/fqxna79a/
You'll notice two tags in there:
<div id="left">Left</div><div id="right"><p>Right</p><p>Right 2</p></div>
What I'm weirded out by is if you enter ENTER (in Chrome and Edge) and therefore create a line-break between the first and second divs, the green and red blocks are no longer on the same line. But no CSS changed. No markup changed. I do not understand why (and it's part of my understanding this shouldn't matter) that a newline break within the text document itself would create a new line in the rendering of the markup. But it obviously does.
Example:
Is where I haven't entered ENTER, and
Update: it appears as though this question has been answered before. Here is a good link to follow to understand what's going on.