CSS技巧——.prop的作用

有不少朋友问过我这样的问题:在一个box内,横向布局两个div,这个box的背景没了。
这个问题出在box的高度上。两个div都用了float:left,那么这个box就不认识他们的高度了(为什么不认识?这是浏览器内部的运算问题,我没有深究过)。此时box没有高度,自然box的background-image就看不见了。
如何解决?
解决之法不在box上,也不再两个div上。
我们得用一个支撑物,但不是用柱子,而是用横梁。
这个支撑物,我给它写成一个class:

 .prop {clear:both; height:0;}


在box内两个div后面再放一个

<div class="prop"></div>


那么就来看下面的图:

我找个模板,写了html来演示
上图是页面的结构层示意图,中间绿色的div就是我们的支撑物
对css属性的解释:
clear:both 清除两边的所有元素,也就是说它自己独占一行,通过这个,就把box的高度给支撑起来了,此时box的高度将是和内部三个div的总高度相等的。
背景的css是:background-position:bottom right no-repeat;
当然,不论背景是bottom还是top,如果没有prop这个<div>,就看不见背景了。
height:0 为什么要给个0?这个对于IE很重要,而且赋空值和给个0,是不一样的运算,这点对于任何脚本语言都是一样的。
左下的图用的.prop {clear:both;}  右下的图用的.prop {clear:both; height:0;}
FF下可以不用这个height:0没有影响,结果都是右下的效果
相关文章:

发表评论:

 

   

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。