在 FF/Chrome 等较新的浏览器中可以使用css属性background-color的rgba轻松实现背景透明,而文字保持不透明。
而IE6/7/8浏览器不支持rgba,只有使用IE的专属滤镜filter:Alpha来实现,但是这样写法会把文字也变为透明,因此只有在透明容器的子节点(文本节点除外)内设置position:relative才能不继承其父元素的透明滤镜.
<div class="body">
<div class="content">
这里是文字内容
</div>
</div>
.body{ background:rgba(255, 255, 255, 0.6)!important; /*使用 CSS3 实现背景透明*/
filter:Alpha(opacity=60); background:#fff; /* 使用IE专属滤镜实现IE背景透明*/
}
.content{ position:relative; /*解决IE 下文字跟着透明的问题 */ }