清楚浮动的方法探索

当使用浮动float时,如果父div没有使用float,而子div使用了float,则可能出现以下情况:

是的,本来应该被撑开的父div却没有被撑开,这很尴尬。

那么应该如何处理这个浮动问题呢?

1.最简单的做法:设置父类高度。

将父类的div设置为固定高度,但是如果子类的高度大于父类高度之后,经runjs测试后父类的高度会随子类的高度变化。

2.入门级做法:clear:both;

在父类div后面加一个空的div,属性设置为clear:both;(清除左右上下的浮动)

这是以前运用很广的一种方法。

3.现象级做法:利用伪类:after结合2中方法+zoom完成。

html如下:

<div class="father">
    <div class="child">
    </div>
    <div class="child">
    </div>
</div>

css如下:

.father{
    border:1px solid #fff;

}
.child{
    width:100px;
    height:20px;
    border:1px solid red;
    float:left;
}
.father:after{
    display:block;
    clear:both;
    content:"";
    visibility:hidden;
    height:0;
}
.father{
    zoom:1;
}

此类方法与2中类似,但是兼容性更好,浏览器支持更好,而且不会出现过多的div造成页面的混乱。

这只是一类清楚浮动的思路,还有几类方法但是这里先介绍这一条思路

时间: 2025-01-04 20:46:40

清楚浮动的方法探索的相关文章

css清除浮动的方法总结

在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了,下面总结8种清除浮动的方法,测试已通过 ie chrome firefox opera,需要的朋友可以参考下 清除浮动是每一个 web前台设计师必须掌握的机能.css清除浮动大全,共8种方法. 浮动会使当前标签产生向上浮的效果,同时会影响到前后标签.父级标签的位置及 width height 属性.而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了.解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问

使得&lt;li&gt;在一行显示,去除浮动的方法

①<li>使用浮动的方法,但是要用div包裹起来,该父元素需要设置宽度与高度: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="jquery.js"></script> <style type="text/css"> .deo1 ul{ width:100%;/*这里设

IE6+以上清除浮动普遍方法总结

浮动,CSSfloat属性.学过的人应该知道这个属性,平时用的应该也是很多的.特别是在N栏布局中. 但是我们会经常遇到这样一种情况,前面的元素浮动之后会影响后面的元素,后面的元素需要用清除浮动来消灭前面元素的影响. 以前经常就是用<div style="clear:both"></div>或者<br style="clear:both" />这样的方法,甚至于有人觉得在HTML加标签很low,所以就用JS手动在DOM中插入这样的清

清除浮动的方法-那些年我们一起清除过的浮动

浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器).也许很多人都有这样的疑问,浮动从何而来?我们为何要清除浮动?清除浮动的原理是什么?本文将一步一步地深入剖析其中的奥秘,让浮动使用起来更加得心应手.一.清除浮动 还是 闭合浮动 (Enclosing float or Clearing float)?很多人都已经习惯称之为清除浮动,以前我也一直这么叫着

css清除浮动各方法与原理

说到清除浮动的方法,我想网络上应该有不下7,8的方法,介绍这些方法之前,想下为什么清除浮动? 再次回到float这个属性,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列. 这就产生了一个问题:浮动元素所在父元素不会自动伸长以便闭合浮动元素,任其“红杏出墙”,这显然不符合我们的“伦理观”,所以要“抓回来”施以家法:那么如何抓呢? 提起css,提起(x)html,首先进入脑海的是楚楚动人的页面吗?不,首先应该是这楚楚动人的页面的背后的“楚楚冻人

浮动问题和清除浮动的方法

[问题] 当一个元素是浮动的,如果没有关闭浮动时,其父元素不会包含这个浮动元素,因为此时浮动元素从文档流中脱离(float的影响具体可读<float深入剖析>一文).如下: <!doctype html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type=&

论述浮动的原理和浮动带来的影响,并列举常见的闭合浮动的方法。

1.浮动的原理浮动是让某元素脱离标准流,漂浮在标准流之上的一种布局方式.任何元素被设置为浮动元素后,就表明它是块级元素,拥有宽高属性.2.浮动带来的影响1)影响它的兄弟元素的位置一个元素设置了浮动样式后,会影响它的兄弟元素,至于如何影响,要看它的兄弟元素是块级元素还是内联元素.如果兄弟元素是块级元素,会无视这个浮动元素,即兄弟元素和浮动元素共处同行,浮动元素会覆盖兄弟元素.除非这些 div 设置了宽度,并且父元素的宽度不足以包含它们,这样兄弟元素才会被强制换行:如果兄弟元素是内联元素,则会尽可能

String的split()方法探索和大揭秘

其实没打算写这么一篇博文的,但是昨天在逛论坛的时候,发现一帖子,然后我又把帖子的内容在群里发了一通,结果出现了让人惊讶的结果,所以这里简单的给大家分享一下split()方法,免得大伙儿以后还会出现这种基本知识错误! 接着说一下,昨天看到的帖子内容: String[] str1 = ";;;".split(";"); String[] str2 = ";a;;".split(";"); String[] str3 = "

8种CSS清除浮动的方法优缺点分析

为什么清除CSS浮动这么难? 因为浮动会使当前标签产生向上浮的效果,同时会影响到前后标签.父级标签的位置及 width height 属性.而且同样的代码,在各种浏览器中显示效果也有可能不相同,这样让清除浮动更难了. 解决浮动引起的问题有多种方法,但有些方法在浏览器兼容性方面还有问题. 我根据自己的经验总结8种清除浮动的方法(测试已通过 ie chrome firefox opera,后面三种方法只做了解就可以了): 1.父级div定义height <style type="text/cs