美文网首页
float浮动导致父元素高度坍塌的原因及清除浮动方法

float浮动导致父元素高度坍塌的原因及清除浮动方法

作者: Bior | 来源:发表于2020-04-17 16:22 被阅读0次

一、浮动产生原因

一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了。
本来两个黑色对象盒子是在红色盒子内,因为对两个黑色盒子使用了float浮动,所以两个黑色盒子产生了浮动,导致红色盒子不能撑开,这样浮动就产生了。
简单地说,浮动是因为使用了float:left或float:right或两者都是有了而产生的浮动。

二、浮动产生负作用

1、背景不能显示

由于浮动产生,如果对父级设置了(CSS background背景)CSS背景颜色或CSS背景图片,而父级不能被撑开,所以导致CSS背景不能显示。

2、边框不能撑开

如上图中,如果父级设置了CSS边框属性(css border),由于子级里使用了float属性,产生浮动,父级不能被撑开,导致边框不能随内容而被撑开。

3、margin padding设置值不能正确显示

由于浮动导致父级子级之间设置了css padding、css margin属性的值不能正确表达。特别是上下边的padding和margin不能正确显示。

三、css解决浮动,清除浮动方法

1、对父级设置适合CSS高度

对父级设置适合高度样式清除浮动,使用设置高度样式,清除浮动产生,前提是对象内容高度要能确定并能计算好。
弊端:必须要知道父元素高度是多少

2、设置父元素也浮动

弊端:对后续元素会带来位置的影响

3、父级div定义 overflow:hidden

对父级CSS选择器加overflow:hidden样式,可以清除父级内使用float产生浮动。优点是可以很少CSS代码即可解决浮动产生。
为什么加入overflow:hidden即可清除浮动呢?那是因为overflow:hidden属性相当于是让父级紧贴内容,这样即可紧贴其对象内内容(包括使用float的div盒子),从而实现了清除浮动。Css overflow:hidden清除浮动方法DIVCSS5推荐使用。
弊端:如果有内容要以溢出的方式显示的话,也一同被隐藏了。

4、clear:both清除浮动

在父元素中,追加空子级块级元素,并设置其clear属性值为 both 。
这个css clear清除float产生浮动,可以不用对父级设置高度 也无需技术父级高度,方便适用,但会多加CSS和HTML标签。

5、利用CSS3新属性完美解决

css样式表中新加:

    .clear:after{
        content:"";
        display:block;
        clear:both;
                }

然后在需要清除浮动的元素上引入.clear类: class="clear"
此方法几乎没有弊端,推荐使用。

相关文章

  • float浮动导致父元素高度坍塌的原因及清除浮动方法

    一、浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑...

  • 子元素浮动导致父元素高度不够问题的解决方案

    1.子元素浮动导致父元素高度(父元素坍塌) 未设置高度的父元素中,如果有子元素浮动(float),由于子元素不占据...

  • css问题收集 2018-07-19

    一、 父元素高度无法撑开 原因:1.子元素浮动 解决:清除浮动 清除浮动方法: .clearfix:after{c...

  • 高度塌陷、清除浮动、元素垂直居中

    高度塌陷: 定义:父元素没有设置高度,子元素设置了浮动(float)属性解决办法:清除浮动(仅清除浮动的负面影响,...

  • 前端面试(四)

    一、浮动产生原因及清除浮动方法 产生浮动原因:给元素添加 float 属性 浮动元素会脱离文档流,不占据空间。浮动...

  • 【CSS】清除浮动

    清除浮动详解 清除浮动主要是为了解决由于浮动元素脱离文流导致的元素重叠或者父元素高度坍塌的问题,而这两个问题分别对...

  • Float布局

    .clearfix .浮动会造成父容器高度坍塌,因此要清理浮动。将.clearfix类应用到需要清除浮动的父元素;...

  • 清除浮动

    浮动元素脱离文档流,所以不占位置,当父元素没有设置高度时,不能撑开,导致父元素的高度塌陷,所以需要清除浮动。 方法...

  • CSS清除浮动

    浮动原理 浮动元素会脱离文档流并向左/向右浮动,直到碰到父元素或者另一个浮动元素。 清除浮动:解决高度坍塌问题 方...

  • clearfix——最佳清除浮动

    完整文章地址浮动元素会脱离文档流并向左/向右浮动,直到碰到父元素或者另一个浮动元素!!!浮动会导致父元素高度坍塌:...

网友评论

      本文标题:float浮动导致父元素高度坍塌的原因及清除浮动方法

      本文链接:https://www.haomeiwen.com/subject/dseyvhtx.html