今天遇到一个问题,在一个有背景颜色和透明度的div中,背景透明了,可是文字也有透明度了,如何要让文字没有透明度呢?

	<div class="test-contain">
	    <div class="test-text">马上测试</div>
	</div>

	.test-contain{
	    background-color:#000000;
	    opacity:0.5;
	}

	.test-text{
	    color: #ffffff;
	}

这里有两种方法,最简便的就是使用CSS3啦, background-color:rgba(0,0,0,0.5);,但会有兼容性问题;第二种就是弄两个div叠起来,当然啦,因为我这里做的是安卓手机端的需求,IE就没有在考虑中了,不过IE下可以使用专属的透明度属性来解决,想到了什么?没错,是IE特有的filter:Alpha(opacity=x)这个属性,想再了解的可以看这篇:CSS实现背景透明,文字不透明,兼容所有浏览器,哈哈,原来也有人碰到一样的问题~这样甚至能兼容到IE6咯~而且也提到了IE9同时支持两种写法的情况下的hack写法:

/* 只支持IE6、7、8 */ @media \0screen\,screen\9 {…}