float浮动造成父级元素塌陷怎么办?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
float浮动造成父级元素塌陷的解决方法是:给父元素设置一个高度,在最后的一个子元素后设置一个空div并使用clear清除浮动,父元素设置overflow:hidden,为父元素添加after伪类
在进行网页布局时,时常会用到float浮动属性,但是当父元素下的子元素设置了浮动就会造成父元素塌陷。接下来我们将在文章中为大家具体介绍如何解决因浮动而造成父元素塌陷的问题,具有一定的参考作用,希望对大家有所帮助
【推荐课程:CSS教程】
当给一个元素的父元素设置了背景颜色之后,再为子元素设置浮动后会发现父元素的背景颜色消失了,并且当父元素有一个边框时会发现浮动元素无法将边框撑开。
例:没有给li设置浮动
<ul style="background: pink;border: 1px solid #ccc"> <li>亿速云</li> <li>亿速云</li> <li>亿速云</li> <li>亿速云</li> </ul>
设置了浮动之后
<ul style="background: pink;border: 1px solid #ccc"> <li style="float: left;list-style: none;">亿速云</li> <li style="float: left;list-style: none;">亿速云</li> <li style="float: left;list-style: none;">亿速云</li> <li style="float: left;list-style: none;">亿速云</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浮动造成父级元素塌陷怎么办大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。