HTML 背景不透明度不影响前景
HTML background opacity no to affect the foreground
我有一张不透明度为 .4 的背景图片。我在它前面有一个图像,它似乎具有相同的不透明度。我该怎么做才能使正面图像的不透明度为 1.0?
这是一个 jsfiddle。
http://jsfiddle.net/aaronmk2/6zjtgxdm/150/
这是我的 html
<div>Hello World
<img src="http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg" alt="">
</div>
和我的css
div{
width : auto;
height : 1000px;
background-image : url("http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg");
background-position: 65% 65%;
background-repeat: no-repeat;
background-size: cover;
opacity: .4;
}
您可以给 div 相对位置并在相同图像上使用 before 并给 before 相同的不透明度。
您可以在 jsfiddle 中检查下面给定的代码。
/* Here is the code Start */
div{
width : auto;
height : 1000px;
position:relative;
}
div:before{
content:" ";
position:absolute;
width:100%;
height:100%;
top:0;
left:0;
background-image : url("http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg");
background-position: 65% 65%;
background-repeat: no-repeat;
background-size: cover;
opacity: 0.4;
}
/* Here is the code Start */
我找到了解决办法。您需要将背景图片放在 div::after
伪元素中,如下所示:
div{
width : auto;
height : 1000px;
}
div::after {
content: "";
background-image : url("http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg");
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
background-position: 65% 65%;
background-repeat: no-repeat;
background-size: cover;
}
像这样,div
元素没有透明的不透明度,它以前应用于其子元素图像。
我有一张不透明度为 .4 的背景图片。我在它前面有一个图像,它似乎具有相同的不透明度。我该怎么做才能使正面图像的不透明度为 1.0?
这是一个 jsfiddle。
http://jsfiddle.net/aaronmk2/6zjtgxdm/150/
这是我的 html
<div>Hello World
<img src="http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg" alt="">
</div>
和我的css
div{
width : auto;
height : 1000px;
background-image : url("http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg");
background-position: 65% 65%;
background-repeat: no-repeat;
background-size: cover;
opacity: .4;
}
您可以给 div 相对位置并在相同图像上使用 before 并给 before 相同的不透明度。 您可以在 jsfiddle 中检查下面给定的代码。
/* Here is the code Start */
div{
width : auto;
height : 1000px;
position:relative;
}
div:before{
content:" ";
position:absolute;
width:100%;
height:100%;
top:0;
left:0;
background-image : url("http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg");
background-position: 65% 65%;
background-repeat: no-repeat;
background-size: cover;
opacity: 0.4;
}
/* Here is the code Start */
我找到了解决办法。您需要将背景图片放在 div::after
伪元素中,如下所示:
div{
width : auto;
height : 1000px;
}
div::after {
content: "";
background-image : url("http://i.dailymail.co.uk/i/pix/2013/11/11/article-2500617-007F32C500000258-970_306x423.jpg");
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
background-position: 65% 65%;
background-repeat: no-repeat;
background-size: cover;
}
像这样,div
元素没有透明的不透明度,它以前应用于其子元素图像。