`display: flow-root` is a modern way to force a block to be a formatting context that floated elements are contained in (aka clearfix).
From the spec :
> The element generates a block container box, and lays out its contents using flow layout. It always establishes a new block formatting context for its contents.
Tab Atkins and Elika Etemad (fantasai) from CSSWG consider the feature stable enough to be implemented .