我想在html中更改图像的不透明度,但不想更改覆盖在其上的文本的不透明度。
这是我的HTML代码: -
<div class="image">
<img src = "C:/Users/Anmol/Desktop/NewSite/Images/background/bg_4.jpg">
<div class="text">
<h1>My Site</h1>
</div>
</div>
这是它的css代码: -
.image{
opacity: 0.5;
margin: 0px 0px 0px 0px
}
.image .text {
position:absolute;
text-align: center;
top:10px;
right:500px;
width:300px;
}
请告诉我怎么办(如果可能的话)?
答案 0 :(得分:5)
不,你不能直接这样做,子元素的不透明度不能大于其父元素。
在您的情况下,最简单的解决方案是不要使文本成为图像的子项(例如,将图像和文本放在同一级别):
.holder {
position: relative;
}
.image{
opacity: 0.5;
margin: 0px 0px 0px 0px
}
.text {
position:absolute;
text-align: center;
top:10px;
width:300px;
}
<div class=holder>
<div class="image">
<img src = "http://i.imgur.com/IQRCO5Lm.jpg">
</div>
<div class="text">
<h1>My Site</h1>
</div>
</div>
答案 1 :(得分:0)
不是给父div赋予不透明性,而是赋予img本身不透明性。这样,不透明度将影响图像,只留下文本。
img{ opacity: 0.5 }