我将文字和背景分为2个div:一个用于透明背景,另一个用于实际内容。
随后,搜索完成了.innerDiv { position: relative}
;它仍然无效。
HTML:
<div id="container">
<div id="content">
<h1> Hello </h1>
</div>
</div>
CSS:
#container
{
margin: auto;
background-color: white;
opacity: 0.3;
height: 90%;
width: 80%;
font-size: 30px;
}
#content {
position: absolute;
font-size: 20px;
}
P.S:将opacity 0.9;
插入#content
确实改变了透明度,但1仍然不是100%永久性的。
答案 0 :(得分:3)
opacity
是继承的,因此如果将父级更改为低于1的不透明度,则所有子元素将具有相同的不透明度。您可以进一步降低子元素的不透明度,但“总”不透明度值永远不会高于其父元素。
E.g。如果您为父母宣布opacity:0.75
,则每个孩子只有75%不透明,但如果您决定进一步降低其不透明度,也可以降至0%。经过一段时间的思考,这听起来有点合乎逻辑,对吗?
您可以通过其他几种方式解决问题:
对于颜色,请使用相应的color notations:rgba
或hsla
。 Alpha通道a
描述了不透明度:
#container{
background-color: rgba(255,255,255,.3); /*30% opaque white*/
}
对于图像,首先使用半透明图像,或使用透明滤镜filter: opacity(30%);
。
对于背景图片,请为父级使用相应放置的伪元素,并使用常规opacity
。
答案 1 :(得分:0)
答案 2 :(得分:0)
你声明的这种方式不起作用,因为作为内部div的子节点将继承不透明度。这是你可以做到的方法之一:
<div class="mainDiv">
<div class="transparentDiv">
</div>
<div class="textDiv">
<h1>My text</h1>
</div>
</div>
和css将是:
.transparentDiv {
height: 30px;
background-color: #00B7FF;
opacity: 0.3;
}
.textDiv {
top: 10px;
position: absolute;
}
您可以更改高度和顶部属性以将其设置为所需位置。