交互设计中心-72色

交互设计中心 | 用户体验 | 优化

关于背景半透明---转

2008年3月31日 | 分类:DIV+CSS | 评论:0 | 引用:0 | 浏览: | Tags:IE与Firefox的CSS兼容大全  css  Firefox  IE  

做过活动页面的同学可能会遇到要做背景半透明的效果,我们一般的做法是用两个层,一个用于放文字,另一个用于做透明背景,因为透明滤镜的效果会影响到里面的内容。不过如果你只需求在IE下实现,我们有更简单的做法:

================HTML======================
<div class="alpha1">
<div class="ap2">
<p>背景为红色(#FF0000),透明度20%。</p>
</div>
</div>
==========================================
==================CSS======================
.alpha1{
width:300px;
height:200px;
background-color:#FF0000;
filter: Alpha(Opacity=30);
}
.ap2{
position:relative;
}
==========================================

样就可以实现啦,也不用担心定位和自适应问题,最大的问题就是IEonly。
如果兼容FF、OP怎么写呢?首先,上面这种定法是不行的啦,那就只能用两个层重叠的方法啦。改下页面结构:

=================HTML======================
<div class="alpha1">
<div class="ap2">
<p>背景为红色(#FF0000),透明度20%。</p>
</div>
<!--[if IE]><![if !IE]><![endif]--> <div class="alpha2"></div> <!--[if IE]><![endif]><![endif]-->
</div>
==========================================

当然样式也得做修改啦:

==================CSS======================
.alpha1,.alpha2{
width:100%;
height:auto;
min-height:250px;/* 必需 */
_height:250px;/* 必需 */
overflow:hidden;
background-color:#FF0000;/* 背景色 */
}
.alpha1{
filter:alpha(opacity=20); /* IE 透明度20% */
}
.alpha2{
background-color:#FFFFFF;
-moz-opacity:0.8; /* Moz + FF 透明度20%*/
opacity: 0.8; /* 支持CSS3的浏览器(FF 1.5也支持)透明度20%*/
}
.ap2{
position:absolute;
}
==========================================

完整Demo

Share
« 马云版白雪公主CEO们成了小矮人修复IE背景图片闪烁或不见的现象 »



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