If you want to contain top margins (for consistency between `overflow: hidden` and pseudo clearfixing), then you need the :before. That’s what I’m advocating for.

See http://nicolasgallagher.com/micro-clearfix-hack/