Certain block elements won't show properly when styled. The HTML itself is correct, but then you'll get tons of people wondering why their CSS won't work (assuming you're adding these for educational purposes) :)

Correct - but just because you use an HTML5 doctype does not mean that you have to use the new HTML5 elements. So this code specifically is perfectly fine. But yes, if you start adding the header, footer, section, article, etc. elements, you'll need to do a bit more work for cross-browser compliance.