繁体   English   中英

通过带有透明背景的图片显示的背景图像

[英]Background image showing through picture with transparent background

我正在尝试为网站创建横幅。 出于SEO的目的,我决定查看是否可以按类型而不是作为导入的图像来创建横幅。 我的进度不错,但由于某种原因,我的背景图像通过覆盖在其顶部的徽标显示。

我将背景图像(在CSS中设置)设置为不透明,因为我不希望它具有完整的强度。 在其上方放置徽标,该徽标具有透明背景,但不透明。

目标标语位于:

http://arielbalter.com/cio/

我正在尝试的代码在:

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;
}

谢谢!

诊断:

根据您对CSS的了解, #background-image的不透明度正在影响#logo的不透明度。

解决方案1:

如果有可能,请考虑使用背景色代替父元素,并使用background-color: rgba(x,y,z,a) ,其中数字a表示不透明度,而不是照片。

解决方案2:

如果要在彼此顶部使用两个图像,而仅父元素具有不透明度,则position absolute将帮助您在单独的div中显示它们,而不会出现任何不透明度问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM