我对 html 功能的工作感到困惑opacity
......假设有两个divs
,一个在另一个内部,并且我应用于opacity
外部 div,它也会自动将不透明度应用于内部div
。我们如何才能撤消它,就像 opacity 应该只适用于 external div
?
我使用了 css 代码不透明度 http://jsfiddle.net/4uMdj/
我对 html 功能的工作感到困惑opacity
......假设有两个divs
,一个在另一个内部,并且我应用于opacity
外部 div,它也会自动将不透明度应用于内部div
。我们如何才能撤消它,就像 opacity 应该只适用于 external div
?
我使用了 css 代码不透明度 http://jsfiddle.net/4uMdj/
如果您background-color
在外部 DIV 中使用,那么您可以rgba
为其定义值。像这样写:
.outer{
background-color: rgba(0,0,0,0.5);
}
& 为 IE 使用 IE 过滤器
您可以从这里为 IE 生成 rgba 过滤器http://kimili.com/journal/rgba-hsla-css-generator-for-internet-explorer/
.parent{
position: relative;
}
.parent:before {
z-index: -1;
content: '';
position: absolute;
opacity: 0.3;
width: xxpx;
height: xxpx;
background: ;
}
.child{
Color:xx;
}
如果您只是设置颜色更容易和更安全地使用背景不透明度,这不会影响任何嵌套元素
.alpha
/* RGBa with 0.6 opacity */
background: rgba(0, 0, 0, 0.6);
}
如果你使用 css,你可以使用 rgba,但你必须覆盖子元素的背景,否则它将从父 div 继承:jsfiddle 示例
示例中的CSS:
.opacity {
background-color: rgba(0,150,0,0.2);
padding: 20px;
border: 1px solid #000;
}
.noopacity {
border: 1px solid #000;
background-color: #090; /*non alpha background*/
padding: 20px;
}
跨浏览器有效的最简单方法是使用您需要的颜色和透明度创建一个 1px PNG 文件,并使用以下 css:
.opacity {
background: url("path/to/your/1px/transparent/background/image.png");
}
因为图像不会被用作继承背景;)
(注意:IE6默认不支持PNG透明!)
如果您在opacity
其父元素上使用应用,则无法撤消(增加)嵌套元素的不透明度。
尝试改用background: rgba(r,g,b, opacity)
:这不会对嵌套元素应用不透明度