如何在同一个页眉中添加两个背景图像?

4
我有一个带有背景图片的标题,我希望标题有相同的背景但是两次重复,效果应该看起来像这样。
为了得到底部颜色,我添加了透明度例如0.5到一张图片中,但透明度会影响头部的所有内容,我希望文本和标志不受标题横幅的透明度影响。

/* Marketing business main header */
.marketing-navbar_items {
    font-family: Helvetica Neue;
    font-size: 30px;
    font-weight: normal;
    color: #FFFFFF;
}

.marketing-main-header_banner {
    background-image: url("https://svgshare.com/i/8KR.svg");
    background-size: auto 1199px;
    background-repeat: no-repeat;
    background-position: center -250px;
    position: relative;
    height: 949px;


}
.sample {
    background-image: url("https://svgshare.com/i/8KR.svg");
    background-size: auto 1199px;
    background-repeat: no-repeat;
    background-position: center -250px;
    position: absolute;
    height: 949px;
    opacity: 0.5;


}
.marketing-main-header_details {

    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
}

.marketing-main-header_description p {
    font-size: 30px;
    font-family: HeaderFont;
    color: white;
    /* width: 55%; */
    text-align: center;
    margin: 50px 0px;
}

.marketing-main-header_button-primary {
    background-color: white;
    background-size: 150px 100px;
    font-size: 16px;
    border-color: transparent;
    color: #4834D4;
    font-family: Roboto Regular;
    width: 373px;
    height: 92px;

}

.marketing-main-header_button {
    margin-top: 50px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

<div class="container-fluid marketing-main-header">
        <div class="marketing-main-header_banner">
        <div class="sample">
            <nav class="navbar navbar-expand-lg navbar-light">
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
                    aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>
                <div class="collapse navbar-collapse" id="navbarNav">
                    <ul class="navbar-nav ml-auto marketing-navbar">
                        <li class="marketing-navbar_items  nav-item">
                            <a class="marketing-nav-link nav-link" href="#">Dla kogo </a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link" href="#">Agenda</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link" href="#">Prowadzacy</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class=" marketing-nav-link nav-link " href="#">Faq</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link " href="#">Kontakt</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link " href="#">Kompetencje</a>
                        </li>
                    </ul>
                </div>
            </nav>


            <div class="marketing-main-header_details">
                <div class="marketing-main-header_logo">
                    <img src="https://thumb.ibb.co/hPrhZp/logo_mib.png">
                </div>
                <div class="marketing-main-header_title">
                    <h1>SZKOLENIA</h1>
                </div>
                <div class="marketing-main-header_description">
                    <p>Lorem ipsum dolor sit amet, an pro dicta maiorum recusabo.</p>
                </div>
                <div class="marketing-main-header_sub-description">
                    <p>Lorem ipsum dolor sit amet, an pro dicta maiorum recusabo.</p>
                </div>

                <div class="marketing-main-header_button">
                    <button type="button" class="marketing-main-header_button-primary">Poznaj Agende</button>
                </div>
            </div>
            </div>
        </div>
    </div>

我需要做什么才能获得预期的结果(文本不受不透明度的影响)?
1个回答

2
.marketing-navbar_items 上创建一个像示例中展示的 :before 伪元素。这样,它不会影响其子元素的透明度(因为它没有子元素)。

/* Marketing business main header */
.marketing-navbar_items {
    font-family: Helvetica Neue;
    font-size: 30px;
    font-weight: normal;
    color: #FFFFFF;
}

.marketing-main-header_banner, .marketing-main-header_banner:before {
    background-image: url("https://svgshare.com/i/8KR.svg");
    background-size: auto 1199px;
    background-repeat: no-repeat;
    background-position: center -250px;
    height: 949px;
}

.marketing-main-header_banner {
    position: relative;
}

.marketing-main-header_banner:before {
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    top: 50px;
    opacity: 0.5;
}

.marketing-main-header_details {

    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
}

.marketing-main-header_description p {
    font-size: 30px;
    font-family: HeaderFont;
    color: white;
    /* width: 55%; */
    text-align: center;
    margin: 50px 0px;
}

.marketing-main-header_button-primary {
    background-color: white;
    background-size: 150px 100px;
    font-size: 16px;
    border-color: transparent;
    color: #4834D4;
    font-family: Roboto Regular;
    width: 373px;
    height: 92px;

}

.marketing-main-header_button {
    margin-top: 50px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

<div class="container-fluid marketing-main-header">
        <div class="marketing-main-header_banner">
        <div class="sample">
            <nav class="navbar navbar-expand-lg navbar-light">
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
                    aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>
                <div class="collapse navbar-collapse" id="navbarNav">
                    <ul class="navbar-nav ml-auto marketing-navbar">
                        <li class="marketing-navbar_items  nav-item">
                            <a class="marketing-nav-link nav-link" href="#">Dla kogo </a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link" href="#">Agenda</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link" href="#">Prowadzacy</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class=" marketing-nav-link nav-link " href="#">Faq</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link " href="#">Kontakt</a>
                        </li>
                        <li class="marketing-navbar_items nav-item">
                            <a class="marketing-nav-link nav-link " href="#">Kompetencje</a>
                        </li>
                    </ul>
                </div>
            </nav>


            <div class="marketing-main-header_details">
                <div class="marketing-main-header_logo">
                    <img src="https://thumb.ibb.co/hPrhZp/logo_mib.png">
                </div>
                <div class="marketing-main-header_title">
                    <h1>SZKOLENIA</h1>
                </div>
                <div class="marketing-main-header_description">
                    <p>Lorem ipsum dolor sit amet, an pro dicta maiorum recusabo.</p>
                </div>
                <div class="marketing-main-header_sub-description">
                    <p>Lorem ipsum dolor sit amet, an pro dicta maiorum recusabo.</p>
                </div>

                <div class="marketing-main-header_button">
                    <button type="button" class="marketing-main-header_button-primary">Poznaj Agende</button>
                </div>
            </div>
            </div>
        </div>
    </div>


嗨,Eliya,感谢你的帮助。对于不透明度和文本,这正是我所需要的,非常好的解决方案。我有一个问题,为什么不透明度只显示在标题底部,左侧怎么样?如果您能帮忙,感激不尽。 - The Dead Man
是的,当我推动“top”和“left”时,在不透明度存在的左上角右侧会出现一个白色空间,您可以在jsfiddle上自行检查。 - The Dead Man
更新此属性:.marketing-main-header_banner:before { content: ""; display: block; width: 100%; position: absolute; top: 0; right: 0; transform: scale(1.1); opacity: 0.5; } - Eliya Cohen
这是一个带有您解决方案的jsfiddle链接:http://jsfiddle.net/Mwanitete/a5e4d7u3/3/,您可以看到我的意思。 - The Dead Man
那个代码完美运行,但是它会添加两侧的透明度,如果我只想要底部和左侧,我需要改变什么? - The Dead Man
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接