Yes, it is the same across all browsers.
overflow and auto
Your text is too high for the content box. So if overflows.
As you haven't set an overflow style, it gets the default which is visible
, according to the spec.
See an explanatory example: http://jsfiddle.net/bsZG7/
(The second div has padding-left for the convenience of understanding what is going on.)
Because the content that spills is not visible, you do not notice it.
misusing br
The br element represents a line break.
And, quoting
http://developers.whatwg.org/text-level-semantics.html#the-br-element :
While line breaks are usually represented in visual media by physically moving subsequent text to a new line, a style sheet or user agent would be equally justified in causing line breaks to be rendered in a different manner, for instance as green dots, or as extra spacing.
You should not be using it to style, as you seem to be.
If you want a margin on the bottom of some box, give it a class or id and put in your css file margin-bottom: 30px;
.
inline styles
You should avoid inline styles as much as possible, instead placing all styles inside a css file. You might just be doing it for the sake of testing, but I will leave the suggestion anyway.
There are many justifications for this, including that the css file can be cached, that you centralize styles in a styles file, that you avoid repetition, that you simplify changes... the list goes on and on.