When using div css for web page layout, if the external div has a background color or border without setting its height, it will display normally under the IE browser. However, when browsing using Firefox/opera, there is a problem that the background color and border of the outermost Div do not work.
General structure
<style>.a1 {width:100px;background:red;}.b1 {background:blue;width:50px;height:600px;}</style></head><body><div class="a1"> <div class="b1"></div></div> </body>
Cause analysis: Because in Firefox and Opera: if the DIV inside is float (float) and the parent body will not calculate the child The height after the body float. This kind of calculation is supported in IE, so it works normally under IE.
So there are two prerequisites for this problem: 1. The outer div has no height set; 2. The inner div is floating (with the float attribute).
Generally, we are not sure of the height of the outer div, so we clear the float.
Realize how the background color or image inside the div will grow accordingly after it grows.
.a1{width:100px;background:red;height:auto !important; height:550px; min-height:550px;}.a1:after { content:"."; height:0; visibility:hidden; display:block; clear:both; }
1. Add code at the end of Div:
The code is as follows:
#a1:after{
content: ".";
height:0 ;
visibility:hidden;
display:block;
clear:both;
}
3. Set overflow to hidden or auto
This method is to set the overflow of the parent container to hidden or autot to close the floating element in a standard compatible browser.
However, when using overflow, it may affect the page performance, and This impact is uncertain, you'd better test your page on multiple browsers
4. Float external elements, float-in-float
This approach is Let the parent container also float, which takes advantage of a characteristic of floating elements? Floating elements will close floating elements. This method has good results in IE/Win and standard-compatible browsers, but the shortcomings are also obvious. The parent container may not float just because it wants to float. After all, floating is a special behavior, and sometimes the layout is not correct. Allowing it to float is also normal.