`
天梯梦
  • 浏览: 13733315 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

清除浮动的最佳方案:clearfix

 
阅读更多

CSS清除浮动float闭合,很多同学都在使用下面的骨灰级解决办法:

.clear{clear:both;}

 

或者

.clear{clear:both;height:0;overflow:hidden;}

 

上诉办法是在需要清除浮动的地方加个div.clear或者br.clear,我们知道这样能解决基本清浮动问题。

但是这种方法的最大缺陷就是改变了html结构,虽然只是加个div。

 

最优浮动闭合方案:

.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}
.clearfix{*+height:1%;}

 

用法很简单,在浮动元素的父云素上添加class=”demo clearfix”。

你会发现这个办法也有个弊端,但的确是小问题。改变css写法就ok了:

.demo:after,.demo2:after{content:".";display:block;height:0;clear:both;visibility:hidden}
.demo,.demo2{*+height:1%;}

 

以上写法就避免了改变html结构,直接用css解决了。

 

最简单的清除浮动的办法(推荐):

.clearfix{overflow:auto;zoom:1} /* zoom is only for IE6 */

 清除浮动这谭水很深很深,但是上面这个简单的解决方案已经可以在今天所有的主要浏览器上工作。

 

当然, overflow设置为hidden也可以的:

.clearfix{overflow:hidden;zoom:1} /* zoom is only for IE6 */

 

目的是一样的, 区别是: 如果你使用auto值, 当内容撑开的时候,会显示滚动条, hidden则不会.

 

 

本文转自:清除浮动的最佳方案:clearfix

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    CSS:清除浮动的最优方法

    在网页设计中,浮动元素是实现布局灵活性的重要手段,但浮动元素往往会导致父元素高度塌陷,即父元素无法包裹住其内部...在选择清除浮动的方法时,应考虑代码的简洁性、维护性和浏览器兼容性,以达到最佳的用户体验。

    CSS浮动所差生的内容溢出问题及清除浮动的方法小结

    为了解决这个问题,我们需要采取一些“清除浮动”(clearing floats)的方法。 清除浮动主要有以下几种方式: 1. **添加空` `标签**:在所有浮动元素之后插入一个空的` `标签,由于` `具有清除浮动的特性...

    CSS 清除浮动方法大全

    这是早期的清除浮动方法,但现在已被CSS替代,因为它不够灵活且不是语义化的解决方案。 7. **使用CSS类名控制**: 创建一个CSS类,如`.clearfix`,并在需要清除浮动的父元素上应用。这是一种常用的复用性高的方法...

    CSS兼容/CSS兼容方案整理

    本文档将详细介绍几种常用的CSS兼容性解决方案,包括CSS Hack技术、清除浮动方法以及解决特定浏览器问题的技巧。 #### 1. CSS Hack 技术 CSS Hack是一种特殊的技术,用于解决不同浏览器间CSS支持差异的问题。它...

    HTML 解决浮动问题的四个方法

    清除浮动是解决浮动元素后继影响最常用的方法。这通常通过添加一个清除浮动的伪类(`:before` 或 `:after`)到包含浮动元素的父容器来实现。例如,可以添加如下CSS代码: ```css .clearfix::after { content: "...

    清除css浮动的三种方法小结

    本文将总结三种清除浮动的方法。 首先,理解浮动的目的至关重要。浮动元素会脱离标准文档流,允许其他非浮动元素在它旁边排列,而不是在其下方。例如,当两个`div`元素分别设置为左浮动和右浮动时,它们会并排显示...

    CSS中的Float语法.docx

    解决方法是使用`clearfix`类或者设置`overflow: auto`。 4. **CSS2.1的浮动规则** - 如果没有指定宽度,浮动元素会根据其内容自动伸缩(shrink-to-fit)。 - IE5/Mac浏览器对未指定宽度的浮动元素处理存在兼容性...

    DIV CSS 网页兼容全搞定 IE6 IE7 IE8 IE9 火狐 谷歌

    .clearfix:after { content: ""; display: table; clear: both; } ``` 然后在需要清除浮动的div末尾添加类名`.clearfix`。 以上技巧可以帮助开发者解决IE及火狐等浏览器中的CSS兼容性问题,确保网页在不同...

    为什么div css网页在FF浏览器中不能水平居中呢.docx

    1. **清除浮动**:如果`div`内部有浮动元素,可能需要清除浮动来确保`div`能正确计算其高度,从而正确应用`margin:0 auto`。可以使用`clearfix`类或者`overflow:hidden`来实现。 2. **检查CSS前缀**:Firefox可能...

    CSS教程:浮动元素对浏览器的支持

    为了解决这个问题,开发者需要使用各种清除浮动的方法来恢复正常的布局。 1. **传统清除方式**:在浮动元素之后添加一个额外的元素,通常设置`clear: both`,如`<div style="clear:both;"></div>`。这种方法简单...

    常见浏览器兼容性问题汇总.doc

    为解决此问题,可以使用clearfix方法,如`.clearfix::after { content: ""; display: table; clear: both; }`,或者使用`overflow: auto`,但后者可能会影响滚动条的显示。 - **自适应高度**:在需要自动扩展高度...

    DIV设置float后父容器无法定位高度的问题解决方法

    .clearfix::after { content: ""; display: block; clear: both; } ``` 然后需要确保父容器具有清除浮动的类名: ```html <div class="clearfix"> <!-- 子元素和浮动内容 --> ``` 通过伪元素清除浮动可以保持...

    浮动

    1. **清除浮动**:浮动元素可能会导致父元素的高度塌陷,即父元素无法包含其浮动子元素,这可以通过添加`clear`属性来解决。`clear:both`会阻止元素两侧有任何浮动元素,`clear:left`和`clear:right`则分别阻止左侧...

    CSS多浏览器兼容性[定义].pdf

    8. **浮动元素的闭合和清除**:浮动元素可能导致父元素高度塌陷,为了解决这个问题,可以使用`clearfix`类或`clear:both`来清除浮动。例如,创建一个不占用空间的无内容元素`<div class="clearfix"></div>`,或者...

    使用CSS解决文字环绕图片问题的代码

    常见的清除浮动方法包括使用clearfix类、伪元素法等。 - **语义化**:虽然`float`属性可以方便地实现文字环绕效果,但这种做法可能会导致HTML结构不够清晰,影响代码的可读性和维护性。因此,在设计页面时还应注重...

    2020年web前端最全面试题及答案【含vue-react】.docx

    清除浮动是为了防止父元素因浮动子元素而高度塌陷,常用方法有:clearfix类、clearfix hack、overflow: auto、display: flow-root等。 css sprites的理解与好处 CSS精灵(sprites)是一种合并多个小图标的图像技术...

    静态兼容性

    .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { display: inline-block; } .clearfix { display: block; } /* Hide from IEMac */ ``` ...

Global site tag (gtag.js) - Google Analytics