所有浏览器的 CSS 透明度设置

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您的旅程各个阶段提供云产品。立即开始使用 价值 200 美元的免费积分!

透明度是那些具有奇怪历史的 CSS 属性之一,它需要大量不同的属性和值来确保跨浏览器兼容性,这可以追溯到很早以前。为了覆盖所有情况,您需要一堆 CSS 语句。幸运的是,它们不会相互干扰,因此每次您希望添加透明度时使用它们都不成问题,而且无需担心。它们如下,目前设置为 50% 透明度

.transparent {
	/* Required for IE 5, 6, 7 */
	/* ...or something to trigger hasLayout, like zoom: 1; */
	width: 100%; 
		
	/* Theoretically for IE 8 & 9 (more valid) */	
	/* ...but not required as filter works too */
	/* should come BEFORE filter */
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	
	/* This works in IE 8 & 9 too */
	/* ... but also 5, 6, 7 */
	filter: alpha(opacity=50);
	
	/* Older than Firefox 0.9 */
	-moz-opacity:0.5;
	
	/* Safari 1.x (pre WebKit!) */
	-khtml-opacity: 0.5;
    
	/* Modern!
	/* Firefox 0.9+, Safari 2?, Chrome any?
	/* Opera 9+, IE 9+ */
	opacity: 0.5;
}
更新于 2011 年 7 月 5 日。以下是我建议今天使用的,以更易于复制和粘贴的格式。
.transparent {
	zoom: 1;
	filter: alpha(opacity=50);
	opacity: 0.5;
}