资讯专栏INFORMATION COLUMN

前端面试题-clearfix(清除浮动)

pcChao / 2862人阅读

摘要:一浮动的概念浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

一、浮动的概念
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
二、浮动的影响 1. 浮动会导致父元素高度坍塌

父元素中有子元素,并且父元素没有设置高度,子元素在父元素中浮动,结果必然是父元素的高度为0,这也就导致了父元素高度塌陷问题。

浮动脱离文档流,这个问题会对整个页面布局带来很大影响,如何解决高度坍塌问题,我们需要清除浮动。

三、浮动的清除 1. clear属性的空标签

在浮动元素后添加一个空标签

,并且在CSS中设置.clear{clear:both;},即可清理浮动。

原理:添加一个空标签,利用CSS提高的clear:both清除浮动,让父元素可以自动获取到高度

优点:简单,代码少,兼容所有浏览器

缺点:增加页面的标签,造成结构的混乱

建议:不推荐使用,此方法已经过时

2. :after伪元素

给浮动元素的容器添加一个clearfix的class,然后给这个class添加一个:after伪元素实现元素之后添加一个看不见的块元素(Block element)清理浮动。

原理:通过CSS伪元素在容器的内部元素之后添加一个看不见的空格“/20”或点“.” ,并且设置clear属性清除浮动。

优点:浏览器支持较好

缺点:clearfix这个class需要添加zoom: 1(触发haslayout),才能支持IE6和IE7浏览器

建议:推荐使用,设置公共类,减少CSS代码

阅读更多

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/51960.html

相关文章

  • 前端面试-clearfix清除浮动

    摘要:一浮动的概念浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。 一、浮动的概念 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。 二、浮动的影响 1. 浮动会导致父元...

    luckyw 评论0 收藏0
  • 前端面试-BFC(块格式化上下文)

    摘要:一的概念规范解释块格式化上下文,是页面的可视化渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素的交互限定区域。我们可以使用实现清除浮动,这里就不多介绍了,想要了解的可以阅读前端面试题清除浮动。 一、BFC 的概念 1.规范解释 块格式化上下文(Block Formatting Context,BFC)是Web页面的可视化CSS渲染的一部分,是布局过程中生成块级盒子的...

    Ryan_Li 评论0 收藏0
  • 前端面试-BFC(块格式化上下文)

    摘要:一的概念规范解释块格式化上下文,是页面的可视化渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素的交互限定区域。我们可以使用实现清除浮动,这里就不多介绍了,想要了解的可以阅读前端面试题清除浮动。 一、BFC 的概念 1.规范解释 块格式化上下文(Block Formatting Context,BFC)是Web页面的可视化CSS渲染的一部分,是布局过程中生成块级盒子的...

    layman 评论0 收藏0
  • 前端面试基础(1年以内需掌握)

    摘要:客户端数据存储,能维持在多个会话范围内。向元素开头插入由参数指定的内容。向匹配的元素添加指定的类名。移除指定的属性。主要解决了中大量的操作使页面渲染性能降低,加载速度变慢,影响用户体验。区别数据驱动,通过数据来显示视图层而不是节点操作。 金三银四 公司让我面试 1年经验的前端,特此花时间研究了一番面试题,近日整理了一下想分享出来,让更多小掘友看到,在我看来 这些基本都是必备的知识点 cs...

    xiaochao 评论0 收藏0
  • 面试CSS盒子模型,左右固定宽度,中间自适应的五种死法

    摘要:优点相比之前布局更具有灵活性缺点脱离文档流,下面的元素都受影响。 面试题目 假设高度已知,请写出三栏布局,左右300px,中间自适应 showImg(https://segmentfault.com/img/bVbj39Y?w=1152&h=648);有几种方法呢? 最容易的应该想到利用float来写,代码如下 css样式代码,以下五种都是用一个样式代码 ...

    leanxi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<