opacity
版本:CSS3
opacity属性指定了一个元素的透明度。换言之,opacity属性指定了一个元素后面的背景的被覆盖程度。
当opacity属性的值应用于某个元素上时,是把这个元素(包括它的内容)当成一个整体看待,即使这个值没有被子元素继承。因此,一个元素和它包含的子元素都会具有和元素背景相同的透明度,哪怕这个元素和它的子元素有不同的opacity属性值。
使用opacity属性,当属性值不为1时,会把元素放置在一个新的层叠上下文中。
示例
/* 完全不透明 */ opacity: 1; opacity: 1.0; /* 半透明 */ opacity: 0.6; /* 完全透明 */ opacity: 0.0; opacity: 0; opacity: inherit;
浏览器支持
![]() | ![]() | ![]() | ![]() | ![]() |
IE9以上版本的浏览器都支持opacity | ||||
语法:
opacity :<number>
取值:
- <number>:使用浮点数指定对象的不透明度。值被约束在[0.0-1.0]范围内,如果超过了这个范围,其计算结果将截取到与之最相近的值。
- 对应的脚本特性为opacity。
- 对于尚不支持opacity属性的IE浏览器可以使用IE私有的滤镜属性来实现与opacity相同的效果
div{filter:alpha(opacity=50);} /* for ie8 and earlier */
div{opacity:.5;} /* for ie9 and other browsers */
| 默认值 | 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>you can barely see this.</div>
<div>this is easier to see.</div>
<div>this is very easy to see.</div>
:hover时opacity的不同
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="https://www.lanmper.cn/upload/browser/compatible_chrome.gif" alt="mdn logo" width="60" height="60" class="opacity" />





