这是我的box课程
.rectangle-box {
width: 200px;
height: 30px;
background: #808080;
opacity: 0.3;
float: right;
}
.rectangle-red {
width: 65px;
height: 30px;
background: #ff4742;
opacity: 1;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
在HTML中:
<div class="rectangle-box">
<div class="rectangle-red"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
演示:https://jsfiddle.net/uq6ectfc/1/
我需要rectangle-red有混浊1及rectangle-box的0.3.但它坚持父母的不透明.
我该如何解决?
你不能不能opacity超过父母
但你可以使用两种方法
我用过rgba rgba(0,0,0,0.0)
.rectangle-box {
width: 200px;
height: 30px;
background: rgba(128, 128, 128, 0.3);
float: right;
position: relative;
}
.rectangle-red {
width: 65px;
height: 30px;
background: #ff4742;
opacity: 1;
float: left;
}Run Code Online (Sandbox Code Playgroud)
<div class="rectangle-box">
<div class="rectangle-red"></div>
</div>Run Code Online (Sandbox Code Playgroud)
或者我用第二种方法:pseudo添加了一个元素background
.rectangle-box {
width: 200px;
height: 30px;
float: right;
position: relative;
}
.rectangle-box:after {
content: '';
opacity: 0.3;
background: #808080;
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
z-index:-1;
}
.rectangle-red {
width: 65px;
height: 30px;
background: #ff4742;
opacity: 1;
float: left;
}Run Code Online (Sandbox Code Playgroud)
<div class="rectangle-box">
<div class="rectangle-red"></div>
</div>Run Code Online (Sandbox Code Playgroud)
使用RGBA而不是十六进制.使用不透明度:影响子元素,而rgba则不影响子元素
.rectangle-box {
width: 200px;
height: 30px;
background-color: rgba(128,128,128, 0.3);
float: right;
}
.rectangle-red {
width: 65px;
height: 30px;
background-color: rgba(255,71,66, 1);
float: left;
}
Run Code Online (Sandbox Code Playgroud)