我正在尝试在透明背景图片后面添加背景色,但它无法正常工作。我希望它在名为"标题"的div中。我先尝试使用png文件,然后尝试使用gif文件。我认为所有的GIF都是透明的图像。任何帮助将不胜感激。
#heading {
background-image: url(http://bartonlewis.com/_images/pg_p_lewis_bckgrnd.gif);
background-size: 978px 1587px;
background-repeat: no-repeat;
background-blend-mode: screen;
background-color: rgba(255, 230, 184, 0.56);
position: relative;
height:100%;
height: 230px;
width: 960px;
}
#content {
float: left;
height: 1800px;
width: 960px;
font-size: 1.1em;
line-height: 1.2em;
z-index:1;
position:relative;
}
div#heading p {
font-size: 72px;
text-align: center;
margin: 100px 0;
letter-spacing: 2px;
}
#colD {
width: 320px;
float: left;
text-indent: -999px;
}
#colE {
width: 30px;
float: left;
}
#colF {
width: 250px;
float: left;
text-align: center;
letter-spacing:.1em;
font-family: "amador";
font-variant: normal;
font-size: 1.5em;
}
#colG {
width: 10px;
float: left;
}
#colH {
width: 350px;
float: left;
}
.floral-icon {
vertical-align: middle;
}
#colG img {
-ms-transform: rotate(180deg); /* IE 9 */
-webkit-transform: rotate(180deg); /* Chrome, Safari, Opera */
transform: rotate(180deg);
}
<div id="background">
</div>
<div id="content">
<div id="heading">
<div id="colD">empty</div>
<div id="colE"><p><img class="floral-icon" src=http://bartonlewis.com/_images/pg_p_lewis_icon.png width="32" height="32"></p></div>
<div id="colF"><p>Lewis</p></div>
<div id="colG"><p><img class="floral-icon" src=http://bartonlewis.com/_images/pg_p_lewis_icon.png alt="floral icon" width="32" height="32"></p></div>
<div id="colH"></div>
</div>
答案 0 :(得分:2)
您可以使用伪元素:before
#heading {
background-image: url(https://www.google.co.in/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png);
background-repeat: no-repeat;
position: relative;
height:100%;
height: 300px;
width: 960px;
}
#heading::before {
background-color: rgba(240, 216, 171, 0.25);
display: block;
content: '';
position: absolute;
height: inherit;
width: inherit;
}
这里,由于您需要头元素,因此使用标头而不是单独的背景div。请注意,:before
元素以绝对定位放置,而实际元素相对于该元素放置。背景颜色应用于before元素,并且在其上呈现背景mage的标题。
修改1
我们可以使用:before
来控制background-blend-mode:screen
的不透明度并使用background-image
,而不是使用background-color
。
在this fiddle中查看。
rgba background-color
的Alpha通道可以控制background-image
的透明度。
#heading {
background-image: url(https://www.google.co.in/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png);
background-repeat: no-repeat;
background-blend-mode: screen;
background-color: rgba(255, 230, 184, 0.66);
position: relative;
height:100%;
height: 300px;
width: 960px;
}
我使用了谷歌徽标,因为您提供的图像源路径是相对于您的页面。