如何让h1
和img
元素“出现在”它们所包含的不透明div的顶部?我的意思是,我如何让它看起来不受父母div的不透明影响?
<div id="main">
<div id="seethru">
<img ... />
<h1>hi</h1>
</div>
</div>
#main {
background-color: green;
}
#seethru {
width: auto;
height: auto;
opacity: 0.4;
background-color: blue;
}
#seethru img, h1 {
position: relative;
z-index: 9999;
color: white;
}
到目前为止,没有任何工作,我无法分离这些内容,它必须在不透明的div
中答案 0 :(得分:7)
您正在使用opacity
属性,这会使其子元素也不透明,因此为了防止使用rgba(0, 0, 255, .4)
,这会阻止子元素变得不透明。
对rgba
的解释:rgba()
只是纯粹的rgb(red, green, blue)
,但附加参数a
是alpha,只有不透明度,所以你可以用它作为处理背景颜色时的另一种选择
有些解决方法可以防止子元素变得不透明,example
有关rgba
的浏览器支持的详细信息(对于IE,您可以使用CSS3 Pie)
注意:当您使用
background-color: rgba()
时,请记住使用 使用hex
或纯rgb
声明后退颜色 不支持的浏览器不会失败至少渲染基色 但是没有不透明度,你也可以使用透明的png作为 具有background-repeat
属性的背景(但这是90年代的方式 do);)
作为@Adrift Commented,您可以阅读here,为什么子元素实际上也变得不透明
答案 1 :(得分:0)
IE8的Internet Explorer不支持RGBA颜色。因此,如果将h1和img元素放在不透明div之外,然后使用CSS定位在内部移动它会更好。
看看这个很棒的教程,它肯定会解决你的问题。
http://www.tutorialrepublic.com/css-tutorial/css-opacity.php