[2008-4-4 16:25:45]CSS技巧——.prop的作用
有不少朋友问过我这样的问题:在一个box内,横向布局两个div,这个box的背景没了。
这个问题出在box的高度上。两个div都用了float:left,那么这个box就不认识他们的高度了(为什么不认识?这是浏览器内部的运算问题,我没有深究过)。此时box没有高度,自然box的background-image就看不见了。
如何解决?
解决之法不在box上,也不再两个div上。
我们得用一个支撑物,但不是用柱子,而是用横梁。
这个支撑物,我给它写成一个class:
在box内两个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没有影响,结果都是右下的效果
这个问题出在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没有影响,结果都是右下的效果
相关文章:
- [转]企业网站常用中英文对照表 (2008-1-14 13:32:22)
- 剖析JavaScript折叠式列表的制作 (2007-9-6 23:9:43)
- 最简单的Javascript下拉菜单 (2006-12-24 1:38:40)
- 网页设计新做 (2006-7-28 17:33:29)
- 设计实验 (2006-5-25 19:38:57)
发表评论:






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