css clearing floats is often seen in css layout, so how to clear floats in css? This article will introduce to you how to clear floats in css, and briefly introduce why you should use css floats.
Our last articleWhat does css floating mean? Why does css need to clear floats? It has been mentioned in
that the reason for using CSS floating is because some elements in CSS are block-level elements, and they will automatically start a new line. There is also another type of inline elements, which are inline elements, and they will remain with the previous content. Displayed in "one row"; but sometimes we need to change this layout, which requires using CSS floating. But when "height collapse" occurs, floats need to be cleared. So, what are the methods to clear floats in CSS? Let’s take a look at the four methods of clearing floats in CSS.Css method to clear floating elements:
Use an empty element with clear attribute
Use an element after the floating element Empty elements such as , and assign the .clear{clear:both;} attribute in CSS to clear the float. You can also use.news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } .clear { clear: both; } <div class="news"> <img src="news-pic.jpg" /> <p>some text</p> <div class="clear"></div> </div>
Css method two to clear floating elements:
Use the overflow property of CSS
Add overflow to the container of floating elements: hidden; or overflow:auto; can clear the float. In addition, hasLayout needs to be triggered in IE6, such as setting the container width and height for the parent element or setting zoom:1..news { background-color: gray; border: solid 1px black; overflow: hidden; *zoom: 1; } .news img { float: left; } .news p { float: right; } <div class="news"> <img src="news-pic.jpg" /> <p>some text</p> </div>
Css method three to clear floats:
Use adjacent element processing
Do nothing , add the clear attribute to the element behind the floating element..news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } .content{ clear:both; } <div class="news"> <img src="news-pic.jpg" /> <p>some text</p> <div class="content"></div> </div>
Use CSS:after pseudo-element
Combined with:after pseudo-element (Note that this is not a pseudo-class, but a pseudo-element, which represents the nearest element after an element) and IEhack, which are perfectly compatible with all major current mainstream browsers. IEhack here refers to triggering hasLayout. Add a clearfix class to the container of floating elements, and then add a :after pseudo-element to this class to add an invisible block element (Block element) to the end of the element to clean up the floating elements..news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } .clearfix:after{ content: "020"; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { /* 触发 hasLayout */ zoom: 1; } <div class="news clearfix"> <img src="news-pic.jpg" /> <p>some text</p> </div>
Finally: For the specific content of some attributes in the above article, please refer to css manual
.
Summary of common methods for clearing floats in CSS_Experience exchange
css Don’t forget to clear floats clear:both_Experience exchange
Float (floating) related skills article in CSS_Experience exchange
###The above is the detailed content of What are the ways to clear floats in css? Introduction to four methods of css float clearing. For more information, please follow other related articles on the PHP Chinese website!