float浮动造成父级元素塌陷的解决办法
在停止网页规划时,经常会用到float浮动属性,但是当父元素下的子元素设定了浮动就会造成父元素塌陷。接下来我们将在文章中为大家详细介绍怎样解决因浮动而造成父元素塌陷的问题,具有必然的参照 作用,但愿对大家有所帮忙
【引荐课程:CSS教程】
当给一个元素的父元素设定了背景色彩之后,再为子元素设定浮动后会发明父元素的背景色彩消逝了,并且当父元素有一个边框时会发明浮动元素没法将边框撑开。
例:没有给li设定浮动
<ul style="background: pink;border: 1px solid #ccc"> <li>PHP中文网</li> <li>PHP中文网</li> <li>PHP中文网</li> <li>PHP中文网</li> </ul>
结果图:
设定了浮动之后
<ul style="background: pink;border: 1px solid #ccc"> <li style="float: left;list-style: none;">PHP中文网</li> <li style="float: left;list-style: none;">PHP中文网</li> <li style="float: left;list-style: none;">PHP中文网</li> <li style="float: left;list-style: none;">PHP中文网</li> </ul>
结果图
从上图中可以看出当子元素设定了浮动之后,父元素的内容没有被撑开。也就是说元素设定浮动后,就不在整个文档流的管辖范畴,那么它此前存在在父元素内的高度就随着浮动不复存在了,而此时父元素会默许本人里面没有任何内容(前提是未给父元素设定牢固高度,假如父元素本身有牢固高度,就不会显现这种状况)就会发生塌陷
父元素塌陷解决办法:
(1)给父级元素增加一个高度
此办法中高度没法确定,需要屡次尝试设定
<ul style="height:200px;background: pink;border: 1px solid #ccc">
(2)在最后一个子元素后加一个空的div,给他增加样式clear,清除两侧浮动;
<div style="clear:both;"></div>
(3)父级元素设定overflow:hidden;
<ul style="background: pink;border: 1px solid #ccc;overflow: hidden;">
(4)父级元素增加after伪类;
.parent:after{ content:""; display:block; clear:both; }
总结:以上就是本篇文章的全部内容了,但愿对大家有所帮忙。
以上就是float浮动造成父级元素塌陷的解决办法的具体内容,更多请关注百分百源码网其它相关文章!