CSS浮动导致网页的布局紊乱的问题怎样解决?
Admin 2021-10-13 群英技术资讯 1533 次浏览
这篇文章主要给大家分享的是关于CSS浮动导致网页的布局紊乱的问题的解决方法,一些朋友遇到在子盒子设置浮动之后,页面布局出现了紊乱的问题。我们想要解决这个问题,有几种方法,下面小编就给大家来一一介绍一下。
一、起因:
子盒子设置浮动之后效果:
由此可见,蓝色的盒子设置浮动之后,因为脱离了标准文档流,它撑不起父盒子的高度,导致父盒子 高度塌陷
。如果网页中出现了这种问题,会导致我们整个网页的布局紊乱
二、解决方案:
(1)父盒子设置固定高度
虽然,给父盒子设置了固定高度能暂时解决我们的问题,但是它的使用不灵活,如果未来子盒子的高度需求发生了改变(网页的多处地方),那么我们得手动需要更改父盒子的高度。后期不易维护。
应用:网页中盒子固定高度区域,比如固定的导航栏。
缺点:使用不灵活,后期不易维护
(2)内墙法
在浮动元素的后面加一个空的 块级元素 (通常是div),并且该元素设置 clear:both;
属性。clear属性,字面意思就是清除,那么both,就是清除浮动元素对我左右两边的影响。
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>浮动元素的破坏性</title> <style type="text/css"> .father{ border: 1px solid red; } .child{ width: 200px; height: 200px; float: left; background-color: green; } .clearfix{ clear: both; } </style> </head> <body> <div class="father"> <div class="child">儿子</div> <div class="clearfix"></div> </div> </body> </html>
应用:网页中应用不多,只是为了引导下一个清除浮动的方式。
缺点:结构冗余
(3)伪元素清除法
内墙法是在浮动元素的后面加一个空的 块级元素 (通常是div),并且该元素设置 clear:both;
属性。
那么正好在css3的属性用法中整好有个选择器也完全符合这个用法,伪元素选择器。它就像伪类一样,让伪元素添加了选择器,但不是描述特殊的状态,允许为元素的 某些部分设置样式 。
表示在p标签元素的最后面添加样式,同时这也正好符合内墙法的用法。
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>浮动元素的破坏性</title> <style type="text/css"> .father{ border: 1px solid red; } .child{ width: 200px; height: 200px; float: left; background-color: green; } .cleafix:after{ content:'.'; display: block; clear: both; overflow: hidden; height: 0; } </style> </head> <body> <div class="father clearfix"> <div class="child">儿子</div> </div> </body> </html>
当以后需要清除浮动时只需要在标签中再添加一个 “clearfix” 类就行,十分的方便快捷 !
编写的伪元素清除法内容解释:
.clearfix:after{ content:'';
//表示给.clearfix元素内部最后添加一个内容,该内容为行内元素。 display: block;
//设置该元素为块级元素,符合内墙法的需求。(有的地方使用table,因为table也是一个块级元素) clear: both;
//清除浮动的方法。必须要写 overflow: hidden;
//如果用display:none;,那么就不能满足该元素是块级元素了。overflow:hidden;表示隐藏元素,但是该元素占位置;而display:none;不占位置。 height: 0; }
此处梳理一下:after(伪类)和::after(伪元素)的区别
相同点
不同点
注意
(4)overflow:hidden
CSS属性overflow定义一个元素的内容太大而无法适应盒子的时候该做什么。它是overflow-x和overflow-y的简写属性
overflow属性不仅仅能实现以上效果,那么当一个元素设置了overflow:hidden|auto|scroll属性之后,它会形成一个BFC区域,我们叫做它为 块级格式化上下文
。
BFC只是一个规则。它对浮动定位都很重要。浮动定位和清除浮动只会应用于同一个BFC的元素。
浮动不会影响其它BFC中元素的布局,而清除浮动只能清除同一BFC中在它前面的元素的浮动。
优点:代码简洁
缺点:内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示要溢出的元素
总结:只要我们让父盒子形成BFC的区域,那么它就会自动清除区域中浮动元素带来的影响 。
哪些会形成BFC区域:
关于CSS浮动导致网页的布局紊乱的问题及解决方法就介绍到这,感兴趣的朋友可以了解一下,希望本文能对大家有帮助,想要了解更多大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
文档流简介什么叫“文档流”?简单来说,就是指元素在页面中出现的先后顺序。可分为“正常文档流”和“脱离文档流”。1、正常文档流正常文档流,
css怎么实现图像映射?我们在做网站设计的时候,有时会需利用图像映射来实现一些效果,这篇文章就给大家介绍一下CSS实现图像映射的方法,感兴趣的朋友就继续往下看吧。
css设置hr居中的方法在css中可以利用“text-align:center;”属性设置hr居中,text-align属性规定元素中的文本的水平对齐方式。该属性通过指定行框与哪个点对齐,从而
这篇文章给大家分享的是用CSS实现类似iOS的开启关闭选择框效果。小编觉得挺有意思的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
今天给大家分享的是css让盒子水平垂直居中的方法,本文提供了八种盒子水平垂直居中方法及示例供大家参考,对新手学习和理解css水平垂直居中盒子有一定的帮助,感兴趣的朋友接下来跟随小编一起看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008