In bootstrap.css
you can find either from Github or from http://twitter.github.com/bootstrap/#
Why does it use:
.container:before, .container:after { display: table; content: ""; zoom: 1; } .row:before, .row:after { display: table; content: ""; zoom: 1; }
Why define display:table in .container:before/after and .row:before/after?
http://nicolasgallagher.com/micro-clearfix-hack/
The clearfix hack is a popular way to contain floats without resorting to using presentational markup. This article presents an update to the clearfix method that further reduces the amount of CSS required.
http://html5boilerplate.com/docs/The-style/#clearfix:
Adding
.clearfix
to an element will ensure that it always fully contains its floated children. There have been many variants of the clearfix hack over the years, and there are other hacks that can also help you to contain floated children, but the H5BP currently provides this micro clearfix helper class.
.clearfix:before, .clearfix:after { content: ""; display: table; }
This rule is understood by all browsers except for IE6/7. It generates a pseudo-element before and after the content of the element that contains floats. Settingdisplay: table
creates an anonymoustable-cell
and a new block formatting context. This acts to prevent top-margin collapse and improve the consistency between modern browsers and IE6/7.
.clearfix:after { clear: both; }
Makes the:after
pseudo-element clear the floated children of this element, thereby making the element expand to contain the floats.
.clearfix { zoom: 1; }
Create new block formatting context in IE6/7 by triggeringhasLayout
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With