--- title: opacity slug: Web/CSS/opacity translation_of: Web/CSS/opacity ---
opacity属性指定了一个元素的不透明度。换言之,opacity属性指定了一个元素后面的背景的被覆盖程度。
当opacity属性的值应用于某个元素上时,是把这个元素(包括它的内容)当成一个整体看待,即使这个值没有被子元素继承。因此,一个元素和它包含的子元素都会具有和元素背景相同的透明度,哪怕这个元素和它的子元素有不同的opacity属性值。
使用opacity属性,当属性值不为1时,会把元素放置在一个新的层叠上下文中。
{{cssinfo}}
/* 完全不透明 */ opacity: 1; opacity: 1.0; /* 半透明 */ opacity: 0.6; /* 完全透明 */ opacity: 0.0; opacity: 0; opacity: inherit;
<number>| 值 | 释义 |
|---|---|
0 |
元素完全透明 (即元素不可见). |
| 任何一个位于0.0-1.0之间的 {{cssxref("<number>")}} | 元素半透明 (即元素后面的背景可见). |
1 |
元素完全不透明(即元素后面的背景不可见). |
div { background-color: yellow; }
.light {
opacity: 0.2; /* Barely see the text over the background */
}
.medium {
opacity: 0.5; /* See the text more clearly over the background */
}
.heavy {
opacity: 0.9; /* See the text very clearly over the background */
}
<div class="light">You can barely see this.</div> <div class="medium">This is easier to see.</div> <div class="heavy">This is very easy to see.</div>
{{EmbedLiveSample('Basic_example', '640', '64')}}
img.opacity {
opacity: 1;
filter: alpha(opacity=100); /* IE8 and lower */
zoom: 1; /* Triggers "hasLayout" in IE 7 and lower */
}
img.opacity:hover {
opacity: 0.5;
filter: alpha(opacity=50);
zoom: 1;
}
<img src="//developer.mozilla.org/media/img/mdn-logo.png"
alt="MDN logo" width="128" height="146"
class="opacity">
{{EmbedLiveSample('Different_opacity_with_hover', '150', '175')}}
| 规范 | 状态 | 说明 |
|---|---|---|
| {{SpecName('CSS3 Transitions', '#animatable-css', 'opacity')}} | {{Spec2('CSS3 Transitions')}} | 定义动态透明度 |
| {{SpecName('CSS3 Colors', '#propdef-opacity', 'opacity')}} | {{Spec2('CSS3 Colors')}} | 初始定义 |
-moz-opacity” 属性一直以一种非标准的方式在使用。在Firefox 0.9版本中 ,这种行为得到了改变,这个属性被重命名为opacity。从那以后,-moz-opacity属性仅作为opacity属性的别名而存在。 -moz-opacity属性 和 Javascript中的MozOpacity属性(Gecko13中删除),到目前为止,你应该使用opacity属性。progid:DXImageTransform.Microsoft.Alpha(Opacity=xx).-moz-opacity” 属性相似, "-khtml-opacity"从2004年年初 (Safari 1.2发布),已经不再受到支持。-khtml-opacity 属性,从第四版开始,它一直支持opacity属性。