解决网页高度塌陷问题一(42)
1、如图所示,我们新建一个记事本,并将记事本的名字改为“解决网页高度塌陷问题一(42).html”,并回车键确定,以使文件转化为浏览器可以打开的html网页文件。

3、如图所示,我们写一个<!DOCTYPE html>标签用来声明这是一个html5的文档,在写一个,<html>标签用来包含html文档的主主体部分。

5、如图所示,我们写上<body>标签用来包含html的主体,我们再写一对父子元素的div,我们看到由于子元素设置了浮动之后,父元素就会高度塌陷。

7、如图所示,我们再写上一对div的父子元素,这个我们设置父元素的display的属性值为inline-block,这样该元素就变为了行内块元素,这样该元素既可以独占一行,又可以自行设置宽度和高度。

9、如图所示,我们再写上一对div的父子元素,这时我们设置div父元素的overflow属性值为hidden,这样就开启了这个div元素的隐性属性BFC了,这样其元素就不会因为因为子元素的浮动而发生高度塌陷了。

11、.如图所示,我们再写上一对div的父子元素,这时我们设置div父元素的overflow属性值为auto,这样就开启了这个div元素的隐性属性BFC了,并且我们再设置zoom属性值为1,这样在IE6中也不可能发生高度的塌陷了。

13、如图所示,我们看到div再使用各种方式开启BFC后,使其父元素不再发生高度的塌陷。


14、如图所示,这是本案例的源代码,以供大家参考哦!<!-- 用<!DOCTYPE html>来声明这是一个html5的文档 --><!DOCTYPE html><!-- 用<html>标签来包含网页的主体 --><html><!-- 用head标签包含html的头部部分 --><head><!-- 用title标签来写入网页的标题 --><title>解决网页高度塌陷问题一(42)</title><!-- 用meta标签来设置文档的编码格式,以便浏览器能够正确解读网页 --><meta charset="utf-8"></head><!-- 用body标签包含html文档的主体部分 --><body><!-- 问题:子元素浮动之后,由于脱离文档流,所以父元素高度塌陷,下面的元素就会上来,就会影响我们网页的布局 --><div style="border-style: solid;border-width: 10px;border-color: green;"><div style="background-color: red;width: 100px;height: 100px;float: left;"></div></div><div style="background-color: yellow;height: 100px;">问题</div><!-- 换行 --><br /><!-- 开启BFC,其BFC为隐含属性,通过设置float、display、overflow来开启 --><!-- 解决的方法:给父元素设置浮动float属性值为left --><div style="border-style: solid;border-width: 10px;border-color: green; float:left;"><div style="background-color: red;width: 100px;height: 100px;float: left;"></div></div><div style="background-color: yellow;height: 200px;">设置浮动float属性值为left,开启BFC</div><!-- 换行 --><br /><!-- 解决的方法:给父元素的属性display设置值为inline-block --><div style="border-style: solid;border-width: 10px;border-color: green; display: inline-block;"><div style="background-color: red;width: 100px;height: 100px;float: left;"></div></div><br /><div style="background-color: yellow;height: 200px;">父元素的属性display设置值为inline-block,开启BFC</div><!-- 换行 --><br /><!-- 解决的方法:给父元素的属性overflow设置值为非visible的值 --><!-- 设置overflow属性值scroll --><div style="border-style: solid;border-width: 10px;border-color: green; overflow: scroll;"><div style="background-color: red;width: 100px;height: 100px;float: left;"></div></div><div style="background-color: yellow;height: 200px;">设置overflow属性值scroll,开启BFC</div><!-- 换行 --><br /><!-- 设置overflow属性值hidden --><div style="border-style: solid;border-width: 10px;border-color: green; overflow: hidden;"><div style="background-color: red;width: 100px;height: 100px;float: left;"></div></div><div style="background-color: yellow;height: 200px;">设置overflow属性值hidden,开启BFC,推荐使用</div><!-- 换行 --><br /><!-- 设置overflow属性值auto --><div style="border-style: solid;border-width: 10px;border-color: green;overflow: auto;"><div style="background-color: red;width: 100px;height: 100px;float: left;"></div></div><div style="background-color: yellow;width: 200px;height: 200px;">设置overflow属性值auto,开启BFC,可以使用</div><!-- 换行 --><br /><!-- 开启haslayout的方法 --><!-- IE6解决塌陷,设置zoom属性值1 --><div style="border-style: solid;border-width: 10px;border-color: green;zoom:1;overflow: auto;"><div style="background-color: red;width: 100px;height: 100px;float: left;"></div></div><div style="background-color: yellow;height: 200px;">E6解决塌陷,设置zoom属性值1,开启haslayout</div></body></html>