当前位置:编程学习 > html/css >>

CSS怎么取消对父元素属性的继承

<div id="aa"> <div id="bb"></div> <div id="cc"></div> <div id="dd"></div> </div> aa设置了CSS属性透明了,然后bb,cc,dd都透明了...怎么让bb,cc,dd都不继承aa的所有CSS属性?
答案:其他属性还行,透明这个属性继承了取消不了。要实现这种效果我见过的办法有3个,其中1、3是肯定有效的,2不很靠谱,你自己琢磨:

1.模拟div全部在aa里面,把bb、cc、dd都提出来不套在aa中,把aa设置透明属性,然后把bb、cc、dd用css定位属性position定位到看上去在aa里面即可。

2.这个是个传说中的方法:bb、cc、dd任然套在aa中,给bb、cc、dd加上相对定位属性:position:relative;这个办法我从来没试成功过,可能容易和其他属性冲突就无效了。

3.aa不设置透明度,在ps里面做半透明的图片保存为png24格式,然后用作aa的背景;但这样产生了个问题,FF、OP及IE高版本都支持png图片透明,在IE6下面又不支持了,所以IE6下你看到aa的背景将是灰色的,不过这个问题好解决,你自己百度下:ie6 png透明,即可。
其他:那是就近原则,bb,cc,dd里写样式就不会了 不能你这样布局
<div id="fuji">
   <div id="aa"></div>
   <div id="bb"></div>
   <div id="cc"></div>
   <div id="dd"></div>
</div>
然后给fuji相对定位,给aa.,bb,cc,dd绝对定位就好了 解决css透明属性只需把子元素设置成相对定位position:relative
把你的
   <div id="bb"></div>
   <div id="cc"></div>
   <div id="dd"></div>
都加上position:relative属性就可以了。 

上一个:css+div中,用<div></div>,字符可以换行,用<pre></pre>,空格、换行可以显示出来。怎么用才能兼容?
下一个:dw中用表格和div css布局怎么区别那么大?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,