How to clear float in css
Methods to clear floating: 1. Define height in the parent div with the syntax "height: height"; 2. Add an empty div at the end and set the "clear: both" style; 3. Define the pseudo class in the parent div ":after" and zoom; 4. The parent div defines "overflow:hidden".
The operating environment of this tutorial: Windows 7 system, CSS3&&HTML5 version, Dell G3 computer.
Floating will cause the current label to float upward, and will also affect the position of the front and rear labels, the parent label and the width height attribute.
And the same code may display differently in various browsers, which makes clearing floats more difficult.
There are many ways to solve the problems caused by floating, but some methods still have problems with browser compatibility.
1. Parent div definition height
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css"> .div1{ background:#000080; border:1px solid red; /*解决代码*/ height:200px; } .div2{ background:#800080; border:1px solid red; height:100px; margin-top:10px; width:98% } .left{ float:left; width:20%; height:200px; background:#DDD } .rightright{ float:rightright; width:30%; height:80px; background:#DDD } </style> </head> <body> <div class="div1"> <div class="left">Left</div> <div class="right">Right</div> </div> <div class="div2">div2</div> </body> </html>
Principle: Manually define the height of the parent div to solve the problem The parent div cannot automatically obtain the height.
Advantages: simple, less code, easy to master
Disadvantages: only suitable for fixed-height layouts, accurate height must be given, if the height is different from the parent div, problems will occur
2. Add an empty div tag at the end clear:both
<style type="text/css"> .div1{ background:#000080; border:1px solid red } .div2{ background:#800080; border:1px solid red; height:100px; margin-top:10px } .left{ float:left; width:20%; height:200px; background:#DDD } .rightright{ float:rightright; width:30%; height:80px; background:#DDD } /*清除浮动代码*/ .clearfloat{ clear:both } </style>
<div class="div1"> <div class="left">Left</div> <div class="right">Right</div> <div class="clearfloat"></div> </div> <div class="div2">div2</div>
Principle: add an empty div, use the clear:both improved by css to clear the float and let the parent div can automatically obtain the height
Advantages: Simple, less code, good browser support, not prone to strange problems
Disadvantages: Many beginners do not understand the principle; if the page has many floating layouts , it is necessary to add a lot of empty divs, which makes people feel very uncomfortable
3. Parent div definition pseudo-class: after and zoom
<style type="text/css"> .div1{ background:#000080; border:1px solid red; } .div2{ background:#800080; border:1px solid red; height:100px; margin-top:10px } .left{ float:left; width:20%; height:200px; background:#DDD } .rightright{ float:rightright; width:30%; height:80px; background:#DDD } /*清除浮动代码*/ .clearfloat:after{ display:block; clear:both; content:""; visibility:hidden; height:0 } .clearfloat{ zoom:1 } </style>
<div class="div1 clearfloat"> <div class="left">Left</div> <div class="right">Right</div> </div> <div class="div2">div2</div>
Principle: IE8 or above and non- IE browser only supports :after. The principle is somewhat similar to method 2. Zoom (IE transfer has attributes) can solve the floating problem of ie6 and ie7.
Advantages: The browser has good support and is not prone to strange problems (currently: It is used by large websites, such as: Tencent, NetEase, Sina, etc.)
Disadvantages: There is a lot of code, and many beginners do not understand the principle. Two lines of code must be used in combination to be supported by mainstream browsers. .
4. Parent div definition overflow:hidden
<style type="text/css"> .div1{ background:#000080; border:1px solid red; /*解决代码*/ width:98%; overflow:hidden } .div2{ background:#800080; border:1px solid red; height:100px; margin-top:10px; width:98% } .left{ float:left; width:20%; height:200px; background:#DDD } .rightright{ float:rightright; width:30%; height:80px; background:#DDD } </style>
<div class="div1"> <div class="left">Left</div> <div class="right">Right</div> </div> <div class="div2">div2</div>
Principle: width or zoom: 1 must be defined, and height cannot be defined. Use overflow:hidden
, the browser will automatically check the height of the floating area
Advantages: simple, less code, good browser support
Disadvantages: cannot be used in conjunction with position, because the exceeded size will be hidden.
Learning video sharing: css video tutorial
The above is the detailed content of How to clear float in css. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

To change the CSS list style, first use list-style-type to change the bullet or numbering style. 1. Use list-style-type to set the bullet of ul to disc, circle or square, and the number of ol is decimal, lower-alpha, upper-alpha, lower-roman or upper-roman. 2. Remove the tag completely with list-style:none. 3. Use list-style-image:url('bullet.png') to replace it with a custom image. 4. Use list-style-position:in

Use CSS to create dotted borders, just set the border attribute to dotted. For example, "border:3pxdotted#000" can add a 3-pixel-wide black dot border to the element. By adjusting the border-width, the size of the point can be changed. The wider borders produce larger points. You can set dotted borders for a certain side, such as "border-top:2pxdottedred". Dotted borders are suitable for block-level elements such as div and input. They are often used in focus states or editable areas to improve accessibility. Pay attention to color contrast. At the same time, different from dashed's short-line style, dotted presents a circular dot shape. This feature is widely used in all mainstream browsers.

It is feasible to create a responsive automatic carousel slider with pure CSS, just combine HTML structure, Flexbox layout, and CSS animation. 2. First build a semantic HTML container containing multiple recommendation terms, each .item contains reference content and author information. 3. Use the parent container to set display:flex, width:300% (three slides) and apply overflow:hidden to achieve horizontal arrangement. 4. Use @keyframes to define a translateX transformation from 0% to -100%, and combine animation: scroll15slinearinfinite to achieve seamless automatic scrolling. 5. Add media

CSSgradientsprovidesmoothcolortransitionswithoutimages.1.Lineargradientstransitioncolorsalongastraightlineusingdirectionsliketobottomorangleslike45deg,andsupportmultiplecolorstopsforcomplexeffects.2.Radialgradientsradiatefromacentralpointusingcircleo

To create a glass mimicry effect of CSS, you need to use backdrop-filter to achieve background blur, set a translucent background such as rgba(255,255,255,0.1), add subtle borders and shadows to enhance the sense of hierarchy, and ensure that there is enough visual content behind the elements; 1. Use backdrop-filter:blur(10px) to blur the background content; 2. Use rgba or hsla to define the transparent background to control the degree of transparency; 3. Add 1pxsolidrgba(255,255,255,0.3) borders and box-shadow to enhance the three-dimensionality; 4. Ensure that the container has rich backgrounds such as pictures or textures to present a blurred penetration effect; 5. It is compatible with old browsers

Usebuilt-incursortypeslikepointer,help,ornot-allowedtoprovideimmediatevisualfeedbackfordifferentinteractiveelements.2.ApplycustomcursorimageswiththecursorpropertyusingaURL,optionallyspecifyingahotspotandalwaysincludingafallbacklikeautoorpointer.3.Fol

Thegrid-template-areaspropertyallowsdeveloperstocreateintuitive,readablelayoutsbydefiningnamedgridareas;eachstringrepresentsarowandeachwordacolumncell,withgrid-areanamesonchildelementsmatchingthoseinthetemplate,suchas"headerheaderheader"for

To add box shadows, use box-shadow attribute; 1. The basic syntax is box-shadow: horizontal offset vertical offset blur radius expansion radius shadows in color; 2. The first three values are required, the rest are optional; 3. Use rgba() or hsla() to achieve transparent effect; 4. The positive expansion radius expands shadows and the negative value is reduced; 5. Multiple shadows can be added by commas separation; 6. Overuse should be avoided to ensure that visibility is tested on different backgrounds; this attribute is well supported by the browser, and reasonable use can improve the design texture.
