`

清除浮动的方法

 
阅读更多
1、父级div设置高度
<div class="div1"> 
    <div class="left">Left</div> 
    <div class="right">Right</div> 
</div>
<div class="div2">
fshrsjdsjdtg
</div>


<style type="text/css"> 
.div1{background:#000080;border:1px solid red;/*解决代码*/height:200px;}
.div2{background:#800080;border:1px solid red;height:100px;margin-top:10px}
 
.left{float:left;width:20%;height:200px;background:#DDD}
.right{float:right;width:30%;height:80px;background:#DDD}
</style>



原理:父级div手动定义height,就解决了父级div无法自动获取到高度的问题。
优点:简单,代码少,容易掌握
缺点:只适合高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题
建议:不推荐使用,只建议高度固定的布局时使用
评分:★★☆☆☆


2、在结尾处加入空div,clear:both;

<div class="div1"> 
    <div class="left">Left</div> 
    <div class="right">Right</div> 
</div>
<div class="div2">
fshrsjdsjdtg
</div>


<style type="text/css"> 
.div1{background:#000080;border:1px solid red}
.div2{background:#800080;border:1px solid red;height:100px;margin-top:10px}
 
.left{float:left;width:20%;height:200px;background:#DDD}
.right{float:right;width:30%;height:80px;background:#DDD}
 
/*清除浮动代码*/
.clearfloat{clear:both}
</style>


原理:添加一个空div,利用css提高的clear:both清除浮动,让父级div能自动获取到高度
优点:简单,代码少,浏览器支持好,不容易出现怪问题
缺点:不少初学者不理解原理;如果页面浮动布局多,就要增加很多空div,让人感觉很不爽
建议:不推荐使用,但此方法是以前主要使用的一种清除浮动方法
评分:★★★☆☆


3、父级div定义 伪类:after 和 zoom

<div class="div1 clearfloat"> 
    <div class="left">Left</div> 
    <div class="right">Right</div> 
</div>
<div class="div2">
fshrsjdsjdtg
</div>


<style type="text/css"> 
.div1{background:#000080;border:1px solid red;}
.div2{background:#800080;border:1px solid red;height:100px;margin-top:10px}
 
.left{float:left;width:20%;height:200px;background:#DDD}
.right{float:right;width:30%;height:80px;background:#DDD}
 
/*清除浮动代码*/
.clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}
.clearfloat{zoom:1}
</style> 


原理:IE8以上和非IE浏览器才支持:after,原理和方法2有点类似,zoom(IE转有属性)可解决ie6,ie7浮动问题
优点:浏览器支持好,不容易出现怪问题(目前:大型网站都有使用,如:腾迅,网易,新浪等等)
缺点:代码多,不少初学者不理解原理,要两句代码结合使用,才能让主流浏览器都支持。
建议:推荐使用,建议定义公共类,以减少CSS代码。
评分:★★★★☆


来源:http://hi.baidu.com/kongcheng2012/item/2b1250d4452e802538f6f705
分享到:
评论

相关推荐

    css中3种清除浮动方法

    为了解决这个问题,CSS提供了多种清除浮动的方法。本文将详细讲解三种清除浮动的方法。 1. **传统方式:添加额外的 clearing div** 在浮动元素之后,可以添加一个额外的`&lt;div&gt;`并为其设置样式`clear: both;`。这...

    HTML5 清除浮动

    在提供的`demo.html`文件中,可能包含了这些清除浮动方法的实际示例,通过查看和分析代码,我们可以更深入地理解每种方法的工作原理和适用场景。 总的来说,HTML5在布局方面提供了更多的解决方案,包括新的标签和...

    清除浮动的几种方法PPT学习教案.pptx

    建议:不推荐使用,但此方法是以前主要使用的一种清除浮动方法。 3. 父级div定义伪类:after和zoom 原理:IE8以上和非IE浏览器才支持:after,原理和方法2有点类似,zoom(IE转有属性)可解决ie6,ie7浮动问题。优点:...

    CSS清除浮动方法总结

    以下是对这些清除浮动方法的详细解释: 1. 加入空`div`并设置`clear: both`: 这是早期常用的清除浮动方法。在浮动元素之后添加一个额外的`&lt;div&gt;`元素,并设置`clear: both`,使其占据整个宽度,从而使父元素重新...

    CSS 清除浮动方法大全

    以下是对几种常见的CSS清除浮动方法的详细解释: 1. **伪类`:after`**: 使用CSS的`:after`伪类可以添加一个看不见的元素来清除浮动。通过设置`content: ""`和`clear: both`,这个看不见的元素将强制父元素扩展以...

    清除浮动.pdf

    随着现代浏览器的普及,使用Flexbox或Grid布局可以提供更简洁、更强大的解决方案,但要确保对旧浏览器的支持,可能还需要结合传统的清除浮动方法。总之,理解和掌握这些方法,能够帮助开发者在各种场景下有效地管理...

    CSS清除浮动方法汇总

    在CSS布局中,浮动元素(float)是一种常用的技术,它允许...随着技术的发展,现代布局方法如Flexbox和Grid正逐渐成为主流,而传统的清除浮动方法逐渐被淘汰。不过,理解这些方法的原理对于解决布局问题仍然很有帮助。

    CSS清除浮动_2种方法源代码.zip

    `clearfix` 类是最常用的清除浮动方法之一,它并不需要添加额外的HTML元素,而是利用CSS伪类来解决。这种方法适用于那些不支持CSS3的旧版浏览器。以下是`clearfix`类的源代码: ```css .clearfix:after { content:...

    CSS清除浮动方法小结

    为了解决这个问题,有多种清除浮动的方法,本文将详细介绍四种常见的清除浮动方法。 1. **设置父元素高度** 这是最直观的方法,当知道浮动子元素的具体高度时,可以手动为父元素设置一个固定高度。例如: ```css...

    css清除浮动大全

    ### CSS清除浮动大全 ...以上介绍了三种常见的清除浮动方法,每种方法都有其特点和适用场景。开发者可以根据实际项目需求选择最合适的方案来优化布局效果。后续章节将介绍更多清除浮动的方法,请继续关注。

    CSS:清除浮动的最优方法

    传统的清除浮动方法包括使用`clear:both`、`clearfix`类或者在父元素内添加空元素等。然而,这些方法在某些情况下可能会带来额外的复杂性或者浏览器兼容性问题。通过`overflow`属性,我们可以更简洁地解决浮动元素...

    css清除浮动

    另一种常用的清除浮动方法是通过设置容器的`overflow`属性为`hidden`或`auto`。这种方法不需要额外的HTML标记,而且兼容性良好,但在某些老版本的IE浏览器中可能需要加上`*zoom:1`来触发“hasLayout”,以确保正确...

    清除浮动和解决margin的塌陷的方法

    浮动的原理 ,介绍清除浮动几种方法。以及margin塌陷的产生和解决margin的塌陷的方法

    css如何清除浮动常用的方法有哪些

    以下是三种常用的清除浮动方法: 1. **使用clear属性**: `clear:both;` 这是最直接的清除浮动方式,它告诉元素不允许任何浮动元素出现在其左侧或右侧。当应用于浮动元素的下一个兄弟元素时,`clear:both;` 将使该...

    CSS清除浮动方法大全(小结)

    CSS清除浮动是前端开发中常见的一个问题处理方法,它主要针对的是当子元素使用了浮动(float)属性后,无法自动撑开父元素高度的问题。这是因为浮动元素脱离了标准文档流,父元素无法检测到其高度,从而导致布局问题...

    css清除浮动的方法有哪些?.docx

    在Web开发中,有多种方法可以清除浮动,以下将详细介绍四种常见的清除浮动的方法。 一、使用带有`clear`属性的空元素 这种方法是在浮动元素后面添加一个空的HTML元素,如`&lt;div class="clear"&gt;&lt;/div&gt;`,并在CSS中...

    css 完美清除浮动的两种解决方案

    在CSS布局中,浮动元素(`float`属性设置...`clear:both`和CSS伪元素是两种经典的清除浮动方法,而现代布局技术如Flexbox和Grid提供了更强大且简洁的解决方案。选择哪种方法取决于项目需求、浏览器兼容性和代码简洁性。

    css 清除浮动的新方法

    传统的清除浮动方法是添加一个空的div元素,并通过设置其CSS样式来达到清除浮动的目的,如设置其clear属性为both,然后通过设置height属性为0或高度超出隐藏,这样可以确保父元素能够包裹浮动元素并防止布局塌陷。...

    浮动从何而来 我们为何要清除浮动 清除浮动的原理是什么

    常见的清除浮动方法包括: 1. 添加额外的标签:在浮动元素后面插入一个带有`clear:both`样式的空`div`,这样可以创建一个新的块格式化上下文(Block Formatting Context,BFC),使得父元素能够包含其浮动子元素。...

    浅谈css中浮动和清除浮动带来的影响

    在实践中,根据项目的需求和兼容性要求,可以选择适合的清除浮动方法。理解浮动和清除浮动的概念对于创建响应式和适应性强的网页布局至关重要,能够帮助开发者更好地控制元素的排列和空间占用,实现复杂的设计需求。...

Global site tag (gtag.js) - Google Analytics