首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

css的各种清除

在CSS布局中,浮动元素可能导致父元素高度塌陷,进而影响整体布局。为了解决这个问题,我们需要采用一些技巧来清除浮动。以下是清除浮动的相关信息:

浮动的基本概念

  • 定义:浮动(float)是CSS中用于定位元素的属性,可以使元素脱离正常文档流,左右浮动。
  • 应用场景:常见的应用场景是图文混排,使文字环绕在图片周围。
  • 产生的问题:当子元素浮动时,父元素会失去高度,导致布局错乱,即所谓的“高度塌陷”问题。

清除浮动的方法

  • 使用clearfix类:通过在父元素上添加具有特定样式规则的类来实现清除浮动。这种方法不需要添加额外的HTML标签,也不会影响文档流。
  • 使用伪元素:通过在父元素后面添加伪元素,设置其为块级元素并清除左右浮动。这种方法同样不需要增加额外的HTML标签,且能有效地解决浮动引起的问题。
  • 使用overflow属性:给浮动元素的容器添加overflow属性为hidden或auto可以清除子元素的浮动。这种方法简单且不增加额外标签,但可能会影响元素的溢出显示。
  • 使用空元素清除浮动:在浮动元素后使用一个空元素,并在CSS中赋予clear: both属性即可清理浮动。这种方法简单直接,但增加了无意义的标签,违背了结构与表现分离的原则。

清除浮动的最佳实践

  • 使用伪元素:被认为是较优的选择,因为它不需要增加HTML结构,不依赖特定的CSS属性值,且具有较好的兼容性和可维护性。
  • 考虑布局模型:现代浏览器支持Flexbox和Grid布局,这些布局模型可以自动处理元素的布局,从而避免浮动带来的问题。

通过上述方法,可以有效地解决浮动元素导致的高度塌陷问题,保持页面布局的稳定性和预期性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS清除浮动

了解为什么要清除浮动我们先来看一个例子 我们想要的效果是这样的 son1和son2并排显示,不会影响底部蓝色的盒子,要实现这种效果我们先写出元素,如下 如果我们想son1和son2盒子并排显示...这是因为,当我们父元素没有设置高度的时候,子元素浮动会导致父元素高度为0的问题。 son盒子被一个父盒子装着,当父盒子高度为0时,蓝色的盒子自然就上去了? 怎么解决这种问题?...2.就是今天要讲的使用css清除浮动 清除浮动就是把浮动的盒子圈到里面,让父盒子闭合出口和入口,不让他们出来影响其他的元素。...在css clear属性用于清除浮动,其基本语法格式: 属性值 描述 left 不允许左侧有浮动元素(清除左侧浮动的影响) right 不允许右侧有浮动元素 both 同时清除左右两侧浮动 清除浮动方法...3.使用after伪元素清除浮动 这种方式跟额外标签法类似,好处是不用单独定义标签了 //定义一个清除浮动的类 .clearfix::after{content="" display:block;heihgt

1.5K20

CSS清除浮动

清除浮动 父盒子设置一个boder,内部放两个盒子一个big 一个small,未给big和small设置浮动,则他们会默认撑开父盒子 ? 给内部两个盒子加上float属性的时候 ?...如果我们清除了浮动,父元素自动检测子盒子最高的高度,然后与其同高。 优点:通俗易懂,方便 缺点:添加无意义标签,语义化差 不建议使用。...deeppink; overflow: hidden; } 优点:代码简洁 缺点:内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示要溢出的元素 不推荐使用 3.使用after伪元素清除浮动...height: 0; clear:both; visibility: hidden; } .clearfix{ *zoom: 1;/*ie6清除浮动的方式...推荐使用 我们写项目的时候经常会用到这种方法,创建一个class写入清除浮动的样式,当我们有元素需要清除浮动的时候就在元素的class后面加上class。

2.3K20
  • 清除CSS浮动

    清除浮动主要有两种方式,分别是clear清除浮动和BFC清除浮动,其他的你也不用去了解了。 浮动元素会脱离文档流并向左/向右浮动,直到碰到父元素或者另一个浮动元素。...直到inline-block出来后,浮动也有它自己独特的使用场景。 此外,浮动带来的负效果也算是它的特征之一。 浮动元素脱离了文档流,并不占据文档流的位置,自然父元素也就不能被撑开,所以没了高度。...清除浮动 overflow:hidden 内容会被裁减 clear:both; 父元素设置高度 在中间一个空盒子,然后给那个空盒子clear:both 其实还有很多套路能够清除浮动,比如给浮动塌陷的元素再添加一个浮动...clear如何清除浮动? clear属性不允许被清除浮动的元素的左边/右边挨着浮动元素,底层原理是在被清除浮动的元素上边或者下边添加足够的清除空间。这句话,请默念5次!...要注意了,我们是通过在别的元素上清除浮动来实现撑开高度的, 而不是在浮动元素上。 浮动元素,脱离了文档流,就算给第三个元素上下加了清除空间,也是没有任何意义的。

    1.4K30

    【CSS】清除浮动 ① ( 清除浮动简介 | 清除浮动语法 | 清除浮动 - 额外标签法 )

    , 父容器 没有设置 内容高度 样式 , 容器中的 子元素 设置了 浮动样式 , 脱离了标准流 , 高度会默认设置为 0 像素 , 这样就会导致各种显示混乱情况 ; 为了应对上述情况 , 可以 使用..." 清除浮动 " 操作 ; 清除浮动 主要作用 : 解决 父容器盒子模型 因为 子元素 被设置为 浮动元素 导致 高度默认为 0 像素 的问题 ; 清除浮动 效果 : 父容器 检测高度时 , 会考虑 浮动子元素...的高度 , 将浮动元素的高度 计算在父容器的总高度中 ; 二、清除浮动语法 ---- 清除浮动语法 : CSS 选择器 { clear: 属性值; } 属性值取值 : left : 清除左侧浮动 ;...right : 清除右侧浮动 ; both : 同时清除左右两侧浮动 ; 一般在使用的时候 , 只使用 clear: both; 一种样式 ; 三、清除浮动 - 额外标签法 ---- 1、额外标签法... /* 清除标签默认的内外边距 */ * { padding: 0; margin: 0; } /* 清除列表默认样式 ( 主要是前面的点

    5.7K40

    CSS3 - 清除浮动

    一、 目的 通过本文,让大家可以明白清除浮动的原理和几种方法,最后得出一种本文认为最好用的方法。 本文也会同步到我的个人网站。...二、 内容简介 1、 引入,还原浮动本来的意义 2、 说明,实际开发中常用浮动来做什么 3、 提问,为什么要清除浮动 4、 回答,如何清除浮动以及常用的几种方法 5、 结论,得出本文认为最好用的方法 三...这并不是我们想要的,这就是要清除浮动的原因。...// css代码 ul:after { content: ""; clear: both; display: block; } 效果: 很好的清除了浮动带来的影响,并且没有附加作用,也没有新增无语义的标签...####四、 结论 综上所述,本文认为最好用的方法是采用after伪类来清除浮动带来的影响,欢迎大家前来讨论。

    11610

    css清除默认样式_htmlclearboth

    大家好,又见面了,我是你们的朋友全栈君。 CSS clear 属性 –定义和用法 clear 属性规定元素的哪一侧不允许其他浮动元素。...说明: 在CSS1和CSS2中,为清除元素增加外边距实现的。 在CSS2.1中,会在元素上外边距之上增加清除空间,而外边距本身并不改变。 可能的值 值 描述 left 在左侧不允许浮动元素。...inherit 规定应该从父元素继承 clear 属性的值 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    79030

    清除页面中多余的css样式

    一、Dust-Me selectors Dust-Me是一个很有用也很好用的Firefox插件,它可以分析到你的页面中调用的所有css文件并分析那些在页面中没有被用到。...>处理指令、@import语句等方式引入的样式文件;(但是不支持页面中的块和内联样式) 支持IE条件注释中引入的样式文件; 可以检查一个页面,也可以检查整个网站; 支持css1选择器、大部分...css2和css3选择器; 理解通用的css hack,比如 “* html #fuck-ie”将会被认为是”html #fuck-ie”; 支持Firefox 3.5和Firefox 3.0,事实上得益于...FF 3.5的js引擎的改进,FF 3.5中的性能比FF 3.0要高50%。...,有些类似于YSlow,但是提供了一些比较个性且很有用的工具,比如Remove unused css: Page Speed和YSlow一样依赖Firebug。

    1.7K40

    CSS技巧(一):清除浮动

    http://www.cnblogs.com/ForEvErNoME/p/3383539.html 什么是CSS清除浮动?...这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。 引用W3C的例子,news容器没有包围浮动的元素。...清除浮动方法 方法一:使用带clear属性的空元素 在浮动元素后使用一个空元素如,并在CSS中赋予.clear{clear:both;}属性即可清理浮动...方法二:使用CSS的overflow属性 给浮动元素的容器添加overflow:hidden;或overflow:auto;可以清除浮动,另外在 IE6 中还需要触发 hasLayout ,例如为父元素设置容器宽高或设置...给浮动元素的容器也添加上浮动属性即可清除内部浮动,但是这样会使其整体浮动,影响布局,不推荐使用。

    80711

    【CSS】清除浮动 ④ ( 清除浮动 - 使用双伪元素清除浮动 | 代码示例 )

    文章目录 一、清除浮动 - 使用双伪元素清除浮动 二、代码示例 一、清除浮动 - 使用双伪元素清除浮动 ---- 为 .clearfix:before 和 .clearfix:after 并集选择器 ,...: table; } 为 .clearfix:after 伪类选择器设置如下样式 : .clearfix:after 伪元素选择器 的含义是 在 该父容器盒子 的内部 , 插入新的子元素 , 该子元素设置选择器中的样式..., 在需要清除浮动元素的 父容器 中 , 声明 clearfix 类 ; /* 清除标签默认的内外边距 */ * { padding: 0; margin: 0; } /* 清除列表默认样式 ( 主要是前面的点...float: left; width: 250px; height: 250px; background-color: red; } /* 父容器 2 - 父容器 1 的兄弟元素

    4.5K50

    CSS 中的各种单位

    之前遇到 css 中需要使用单位的情况,都草草用 px 或者百分比糊弄过去,导致当需要做一个响应式的页面的时候,要重新补一下 css 单位的技术债。...px px 是 css 中最常用的字体大小单位。...百分比 css 中的百分比是一种相对值,使用百分比的关键是找到它的参照物。 属性 参照 width & height 宽和高在使用百分比值时,其参照一般都是父元素的 content 的宽和高。...transform: translate 参照是元素自己的边界框的尺寸 vh vm 移动互联网时代各种设备大小不一,响应式的布局变得更加流行,而响应式布局很大程度上依赖比例规则。...缩放浏览器大小来查看效果 .css-vm-test { font-size: 3vw; color: red; } vmin 和 vmax vmin 和 vmax 的出现主要是为了移动设备横竖屏切换

    79120

    css中清除浮动方式三

    viewport" content="width=device-width, initial-scale=1.0"> Document css...-- 1.清除浮动的第三种方式 隔墙法 2.外墙法 2.1在两个盒子中间添加一个额外的块级元素 2.2给这个额外添加的块级元素设置clear: both;属性 注意点: 外墙法它可以让第二个盒子使用...viewport" content="width=device-width, initial-scale=1.0"> Document css...--3.内墙法 3.1在第一个盒子中所有子元素最后添加一个额外的块级元素 3.2给这个额外添加的块级元素设置clear: both;属性 注意点: 内墙法它可以让第二个盒子使用margin-top属性...外墙法不能撑起第一个盒子的高度, 而内墙法可以撑起第一个盒子的高度 5.在企业开发中不常用隔墙法来清除浮动 --> 我是文字1 我是文字

    54110

    css高度坍塌与清除浮动

    解决办法:经常使用的清除浮动的方案: clearfix方案【原理:就是在这个父元素的最后创建一个伪元素after。...通过这个伪元素的一系列相关属性,就达到了清除浮动的目的】 使用伪元素after在父元素尾部添加一个元素 对这个添加的伪元素应用清除浮动的样式 必备三大样式:content、clear、diaplay 可选三大样式...弄明白这里 我们就需要深入理解一下浮动和清除浮动的底层原理 如果上一节方法1-使用clear清除浮动 我们不是用的div 而是用...span 那将不会达到清除浮动的效果!!...弄明白这里 我们就需要深入理解一下浮动和清除浮动的底层原理 如果上一节方法1-使用clear清除浮动 我们不是用的div 而是用

    1.9K50

    CSS 浮动布局,解决清除浮动的问题

    (一般是高度不设置),父元素内整体浮动的元素无法撑开父元素,父元素需要清除浮动 7、浮动元素之间没有垂直margin的合并 理解练习 1、两端对齐浮动 float:left 和 float:right...再来看看这个怎么实现 父级盒子不给高度,子集盒子浮动,父级盒子需要清除浮动 ? 问题如下图: ? 可以从上图看出,父元素div并没有因为子元素的数量增多而增加,那么这种问题怎么处理呢?...这就是经典的问题清除浮动。 为什么叫做清楚浮动呢?因为子元素只要不设置float,父元素是可以自动扩展的。 ? 注释了子元素的浮动的确可以解决,但是这样就无法使用浮动布局了。...清除浮动 :子元素设置为浮动,父元素无法被撑开的这种情况 父级上增加属性overflow:hidden 在最后一个子元素的后面加一个空的div,给它样式属性 clear:both(不推荐) 使用成熟的清浮动样式类...使用父级元素div增加样式 overflow:hidden 来解决清除浮动的问题 ? 很好,用overflow:hidden就可以解决了。再试试其他方法。

    2.8K30

    css中清除浮动float 上

    DOCTYPE html> 65-清除浮动方式一 <style...-- 1.清除浮动的第一种方式 给前面一个父元素设置高度 注意点: 在企业开发中, 我们能不写高度就不写高度, 所以这种方式用得很少 --> 我是文字...viewport" content="width=device-width, initial-scale=1.0"> Document css...-- 1.清除浮动的第二种方式 给后面的盒子添加clear属性 clear属性取值: none: 默认取值, 按照浮动元素的排序规则来排序(左浮动找左浮动, 右浮动找右浮动) left: 不要找前面的左浮动元素...right: 不要找前面的右浮动元素 both: 不要找前面的左浮动元素和右浮动元素 注意点: 当我们给某个元素添加clear属性之后, 那么这个属性的margin属性就会失效 --> <div class

    85120
    领券