我试图对应用了背景图像的div进行不透明效果,并且仍然保持文字“不透明”。 我的标记:
<div id="projects" class="feature">
Projects
</div>
我的CSS:
.feature {
display: inline-block;
margin: 30px;
cursor: pointer;
width: 300px;
height: 300px;
-webkit-border-radius: 150px;
-moz-border-radius: 150px;
border-radius: 150px;
font-family: 'Droid Sans', Helvetica Neue, sans-serif;
font-size: 2em;
color: #fff;
text-align: center;
line-height: 1.2em;
}
.feature:after {
/* Fallback for web browsers that don't support RGBa */
background-color: rgb(0, 0, 0);
/* RGBa with 0.6 opacity */
background-color: rgba(0, 0, 0, 0.8);
/* For IE 8*/
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";
}
.feature#projects {
background-image: url('img/hero.png');
}
我想过使用伪元素,但无济于事!
有什么想法吗?
答案 0 :(得分:3)
我可能会对背景图片使用半透明png
,然后相应地设置文本样式。
您可能还想查看RGBa:
这适用于背景色,虽然它也适用于您的图像(但未经测试)
答案 1 :(得分:1)
有一种破解方法,你将div放在另一个包含文本的div下面的背景中。
查看以下链接:
http://www.sumobaby.net/news/2011/03/04/change-background-opacity-without-affecting-text/
这里还有一个快速工作的例子:
注意:标记和css并不是那么好,我只是在5分钟内编写它:)