我正在尝试为网站创建横幅广告。出于搜索引擎优化的目的,我决定看看我是否可以在类型而不是导入的图像中创建横幅。我取得了很好的进展,但出于某种原因,我的背景图片通过覆盖在其上方的徽标显示出来。
我的背景图片(在css中设置)设置了不透明度,因为我不想要它的全部力量。在它上面我放置了一个透明背景但没有不透明度的徽标。
目标横幅位于:
我尝试的代码是:
http://jsfiddle.net/abalter/QzNpQ/
** * HTML * ****
<header>
<div id="outer">
<div id="background-image"></div>
<div id="logo">
<img id="house-logo" src="http://arielbalter.com/cio/img/CheckItOutHouseNoBackground.png" />
</div>
<div id="lines">
<h1 id="line1">check it out!</h1>
<h1 id="line2">Home Inspection</h1>
</div>
</div>
</header>
** CSS * ***
header {
border: 3px double black;
width: 100%;
height: 7em;
}
#outer {
background-size: 100% 100%;
height: 100%;
position: relative;
}
#background-image {
background-image: url("http://arielbalter.com/cio/img/3tab_slanted.jpg");
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
opacity: 0.3;
}
#logo {
float: left;
border: 1px dashed green;
height: 100%;
}
#logo img {
height: 100%;
}
#lines {
display: inline-block;
border: 2px dotted blue;
top: 0;
bottom: 0;
}
#line1 {
display: block;
position: relative;
font-family:"KGLoveSomebody", "Comic Sans MS", sans-serif;
font-weight: bold;
font-size: 3em;
color: FireBrick;
padding: 0.1em 0 0 0;
margin: 0 0 -0.4em 0;
border: 2px dashed green;
letter-spacing: 0.05em;
}
#line2 {
display: block;
position: relative;
font-family:"Trebuchet", sans-serif;
font-size: 2em;
color: black;
font-weight: bold;
padding: 0 0 0 0;
margin: 0 0 0 0;
border: 2px dashed orange;
font-variant: small-caps;
}
谢谢!
答案 0 :(得分:3)
<强>诊断:强>
根据我的理解,基于您的CSS,#background-image
上的不透明度会影响#logo
的不透明度。
解决方案1:
如果可能,请考虑使用background-color: rgba(x,y,z,a)
父元素的背景颜色而不是照片,其中数字a
负责不透明度。
解决方案2:
如果你想在彼此顶部使用两个图像,只有父元素具有不透明度,position absolute
将帮助你在没有任何不透明度问题的单独div中显示它们。