永发信息网

CSS 清除浮动问题

答案:3  悬赏:60  手机版
解决时间 2021-11-15 22:24
CSS 清除浮动问题
最佳答案
clear是子模块之间限定的,如下:




1和2之间,用clear来限定。
而overflow:hidden是父模块对子模块来用的。就是a对于1和2模块的限定。
clear非常好理解,主要是overflow:hidden不这么好理解,我发一篇文章给你看看,这个你看完就非常明白是什么意思了。(这是我看到的一篇文章,讲的最透彻的)

overflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解。

一提到清除浮动,我们就会想到另外一个CSS样式:clear:both,我相信对于这个属性的理解大家都不成问题的。但是对于“浮动”这个词到底包含什么样的含义呢?我们下面来详细的阐述一下。





这是一个常用的div写法,下面我们来书写样式。大家可以在DMX中自己做试验

#wai{ width:500px; background:#000; height:500px;}

#nei { float:left; width:600px; height:600px; background:red;}

可以看到,我给nei这个id加了一个浮动,我们常规的理解是,我们允许nei这个id的div的右边出现其他的内容,只要它的宽度不超过wai这个div和nei这个div的剩余值。

如果div wai中还包含其他的div,我不允许它出现在nei的右侧,我们则用样式clear:both指定这个div,不允许它浮动在nei右侧。

这些在ie6里面是正确的。但是在火狐或者其他浏览器里面,我们发现问题并非如此简单。我们发现,当nei这个div的宽度和高度都大于wai这个div的时候,wai并没有被内撑开而是依旧显示为我们指定的宽高。在我的例子中,都是500。

这个时候我不理解了,我搜索了很多的资料,但是都没能理解这是为什么,直到看到别人在类似的情况下给wai这个div加了一个overflow:hidden这个属性解决了这个问题。

我们直到overflow:hidden这个属性的作用是隐藏溢出,给wai加上这个属性后,我们的nei的宽高自动的被隐藏掉了。另外,我们再做一个试验,将wai这个div的高度值删除后,我们发现,wai的高度自动的被nei这个div的高度值给撑开了。

说到这里,我们再来理解一下“浮动”这个词的含义。我们原先的理解是,在一个平面上的浮动,但是通过这个试验,我们发现,这不仅仅是一个平面上的浮动,而是一个立体的浮动!

也就是说,当nei这个div加上浮动这个属性的时候,在显示器的侧面,它已经脱离了wai这个div,也就是说,此时的nei的宽高是多少,对于已经脱离了的wai来说,都是不起作用的。打个形象的比喻就是当JJ脱离BB的时候,JJ的大小对于BB是没有撑开的作用的(有点少儿不宜的感觉-_-|||)

OK,当我们全面的理解了浮动这个词的含义的时候,我们就理解overflow:hidden这个属性中的解释,清除浮动是什么意思了。也就是说,当我们给wai这个div加上overflow:hidden这个属性的时候,其中的nei等等带浮动属性的div的在这个立体的浮动已经被清除了,就好比JJ又进入了BB内,JJ的大小自然又会影响到BB的大小。

这就是overflow:hidden这个属性清除浮动的准确含义。

当我们没有给wai这个div设置高度的时候,nei这个div的高度,就会撑开wai这个div,而在另一个方面,我们要注意到的是,当我们给wai这个div加上一个高度值,那么无论nei这个div的高度是多少,wai这个高度都是我们设定的值。而当nei的高度超过wai的高度的时候,超出的部分就会被隐藏。这就是隐藏溢出的含义!

我相信,通过我的这些文字,大家对overflow:hidden这个属性有了全新的认识。希望大家和我一样,在div+css学习中能够不断的进步!
全部回答
它本来就是想达到跟清除浮动一样的效果:父DIV随着浮动的子DIV扩展,包容子DIV。
这代码可用。只是它用了Hack(zoom:1 IE专有属性)兼容IE6.0以下,不好通过W3C验证。
除了清除浮动和上面的方法外, 还可以让父DIV也浮动达到这效果。当然要看实际需要选用。

另:我不知道你说的“明显不行”是指的什么意思?它可以达到要的效果,只是里面的双引号是中文字符(可能是发帖需要),要改为英文字符。


OK,当我们全面的理解了浮动这个词的含义的时候,我们就理解overflow:hidden这个属性中的解释,清除浮动是什么意思了。也就是说,当我们给wai这个div加上overflow:hidden这个属性的时候,其中的nei等等带浮动属性的div的在这个立体的浮动已经被清除了,就好比JJ又进入了BB内,JJ的大小自然又会影响到BB的大小。

这就是overflow:hidden这个属性清除浮动的准确含义。

当我们没有给wai这个div设置高度的时候,nei这个div的高度,就会撑开wai这个div,而在另一个方面,我们要注意到的是,当我们给wai这个div加上一个高度值,那么无论nei这个div的高度是多少,wai这个高度都是我们设定的值。而当nei的高度超过wai的高度的时候,超出的部分就会被隐藏。这就是隐藏溢出的含义!

我相信,通过我的这些文字,大家对overflow:hidden这个属性有了全新的认识。希望大家和我一样,在div+css学习中能够不断的进步!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
西餐里的芝士有哪几种
哈尔滨崇山路分单双号限制吗
多项式x加y减z,乘x减y加z减y加z减x,程锐减x减
tell-u 是什么?
化学U型干燥管和球形干燥管有何区别
农忖土地征收未支付土地补偿处理
上海星航干洗(八中路口)地址在什么地方,想过
旺仔摇摇冻吃到后面粉吸不上了怎么办?
土耳其有何魅力,被恐怖威胁还有这么多人
姓四声的xi是哪个字
鸡戴帽子,歇后语
太原站不出站换成4615太原站不出站转k884只有
k36无锡站停吗
怎么把别人拼多多店里的商品复制到自己的店铺
gta5怎么让地堡生产快
推荐资讯
cc#编程 int a=1,b=2,c=3; 编程计算下面表达
IBMT60P笔记本怎样连接液晶显示器
小拇指汽车维修连锁包括哪些优势呢?最近圈里
alloy20相当于中国的什么材质
天桥区济南清清风干鸡我想知道这个在什么地方
惠阳碧桂园凤凰酒店停车场(出入口)地址有知道
兴旺汽车贸易有限公司(李埠口乡周项路与东环
日语作古是什么意思
项城市财政国库支付中心我想知道这个在什么地
加绒被罩有害建康吗?
泉州贡糖南俊巷的好吃还是涂门街的好吃
为什么微信对方发图片过来打开一看说图片已清
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?