避免CSS设置的透明度属性被继承

by 清泉 19. 十月 2009 12:19

一般来说,如果不需要继续父属性,只要加上position:relative就可以了。
具体来说就是下面这样:
html结构:
<div class="cnt">
<div class="bd">
content here<br/>
content here<br/>
content here<br/>
content here<br/>
content here<br/>
content here
</div>
<div class="ft"></div>
</div>

CSS:
.cnt{
    width:45em;
    overflow:hidden; /*必须的,否则ft的透明层将会偏出*/
    color:#fff;
    position:absolute;/*根据需要设定,不是必须的*/
    filter:Alpha(opacity=20);/*IE下的透明度*/
    _background:#000;/*IE下的背景色*/
    _position:static;/*必须的*/
}

.bd{
    position:relative;/*必须的,和父层的position:static对应*/
}

.ft{  /*FF下,做一个透明层,放在内容下面*/
    background:#000;
    position:absolute; /*必须*/
    top:0;/*必须*/
    left:0;/*必须*/
    right:0;/*必须*/
    bottom:0;/*必须*/
    z-index:-1;/*必须*/
    opacity:0.2;/*必须*/
    *opacity:1; /*这个是为了应付其他浏览器*/
    *background:transparent; /*IE下是完全透明的*/
}

分开分析:
IE下面,cnt层设了透明度,为了避免影响子层,父层position:static,子层position:relative;
FF下面,cnt层不设透明度,ft层设了透明度,并且让它放在内容下面并充满父层。

这样就实现了避免CSS透明度继承的效果,高!

Tags:

页面美工设计

评论

添加评论



(将显示你的Gravatar头像)  

biuquote
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading



Supidea.com 晨飞的梦 @ All Rights Reserved. Powered by BlogYi.NET ver:1.8.0.0. 苏ICP备09011404号

关于博主

kamau
抱着美好的理想背井离乡,这酸甜苦辣只能默默忍受。既然选择了路,就得风雨兼程……

Calendar

<<  二月 2012  >>
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

在日历中查看文章

最近的评论

Comment RSS

声明

      本博所发一切破解相关附件只作学习研究交流之用,严禁用于商业用途,请在下载24小时内删除。
      本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2009