用CSS清理元素浮动,你必需要掌握的几种方法

作者 : 开心源码 本文共992个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共184人阅读

前言

首先我们通过一张图来解释下元素浮动是什么样的状态。

用CSS清理元素浮动,你必需要掌握的几种方法

元素浮动情况

上图的html部分代码为:

用CSS清理元素浮动,你必需要掌握的几种方法

html代码

css部分代码为:

用CSS清理元素浮动,你必需要掌握的几种方法

css代码

通过上面的图片可以看出,当内部的div设置float后,外部的元素的就会受到以下影响:

  • 背景不能显示

  • 边框不能被撑开

  • margin和padding设置的值不能正确显示

元素浮动的坏处

假如不清理元素浮动的话,浮动层后面的非浮动层内容就有可能被覆盖,造成页面的排版混乱。

例如在上面的例子中再加一个非浮动的div,就会发现该div被前面的三个浮动div覆盖住。

用CSS清理元素浮动,你必需要掌握的几种方法

由于浮动,后面的div被覆盖

既然会出现这种情况,我们就应该设法清理掉元素的浮动。

方法1-父级元素设定定高

我们可以给父级元素.outer设置为定高,这样即可以不影响后面的非浮动元素。.outer的样式为:用CSS清理元素浮动,你必需要掌握的几种方法

设置定高

达到的效果为

用CSS清理元素浮动,你必需要掌握的几种方法

清楚浮动之后

尽管这种方法可以清楚浮动,但是对父元素设置定高会有很多的限制,假如内层div的高度变化,则需要手动修改外层div的高度,相对来说有点麻烦,因而这种方法并不推荐。

方法2-增加新元素,设置clear:both

在父元素内部的末尾处增加一个新的div,并设置其clear: both;属性。

用CSS清理元素浮动,你必需要掌握的几种方法

增加一个新的div

该新添加div的css属性为:

用CSS清理元素浮动,你必需要掌握的几种方法

新添加div的css属性

利用该方法同样可以达到清楚浮动的效果,但是因为会新添加DOM元素,这种方法也不推荐。

方法3-父级元素使用overflow:hidden属性

在父级元素上使用overflow:hidden属性,精确来说只需不给overflow属性设置为visible都可以清理元素浮动。

用CSS清理元素浮动,你必需要掌握的几种方法

设置overflow: hidden

使用这种方法可以少写很多css样式代码,同时不会新添加DOM元素,因而推荐使用这种方式。

方法4-对父元素使用伪元素

通过对父元素使用:after伪元素,同样可以达到清理浮动的效果。

用CSS清理元素浮动,你必需要掌握的几种方法

伪元素清楚浮动

以上方法在伪元素中,通过设置clear与overflow属性来实现。方法4在实际的项目中使用的频率最高,因而极大的推荐使用方法4来清理元素浮动。

其余方法

看到网上有的资料详情,通过设置父元素为浮动,或者者设置父元素为absolute定位,这两种方法只是能显示父元素而已,但父元素同样会覆盖到后面的非浮动元素,因而这两种方法严格意义来说并不算清理浮动的方法。

总结

今天这篇文章主要详情了几种通过CSS来清理元素浮动的方法,你掌握了吗?

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 用CSS清理元素浮动,你必需要掌握的几种方法

发表回复