简体   繁体   English

如何在图像幻灯片上放置黑色叠加层

[英]How to put a black overlay overlay over the image slideshow

i have a slideshow made with js(which i did't attch), i want to make a black overlay over the image ive tried many ways but nothing is working for me .Here is my code can anyone help me please.The javascript is just to attach images to each span element.I want the black transparent overlay above the image and below the text. 我有一个用js制作的幻灯片(我没有参加过),我想在图像ive上做一个黑色的覆盖物,尝试了很多方法,但没有任何用处。只是要将图像附加到每个span元素。我想要图像上方和文本下方的黑色透明覆盖层。

<!DOCTYPE html>
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Fullscreen Background Image Slideshow with
        CSS3 - A Css-only fullscreen background image slideshow" />
    <meta name="keywords" content="css3, css-only, fullscreen, background,
        slideshow, images, content" />
    <meta name="author" content="Codrops" />
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" type="text/css" href="css/demo.css" />
    <link rel="stylesheet" type="text/css" href="css/style4.css" />
    <script type="text/javascript" src="js/modernizr.custom.86080.js"></script>
</head>
<body id="page">
    <ul class="cb-slideshow">
        <li><span></span><div><h3>Picture perfect Designs</h3></div></li>
        <li><span>Image 02</span><div><h3>Perfect blend of Logic and creativity</h3></div></li>
        <li><span>Image 03</span><div><h3>Have an idea? contact us</h3></div></li>
        <li><span>Image 04</span><div><h3>Need a website for your buisness</h3></div></li>
        <li><span>Image 05</span><div><h3>qui·e·tude</h3></div></li>
        <li><span>Image 06</span><div><h3>re·lax·a·tion</h3></div></li>
    </ul>
    <div class="container">
        <!-- Codrops top bar -->
        <div class="codrops-top">

            <span class="right">

            </span>
            <div class="clr"></div>
        </div><!--/ Codrops top bar -->

        </div>
    </body>
</html>


<style>
.cb-slideshow, .cb-slideshow:after {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 0;
}

.cb-slideshow:after {
    content: '';
    background: transparent url(../images/pattern.png) repeat top left;
}

.cb-slideshow li span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    -webkit-backface-visibility: hidden;
    -webkit-animation: imageAnimation 36s linear infinite 0s;
    -moz-animation: imageAnimation 36s linear infinite 0s;
    -o-animation: imageAnimation 36s linear infinite 0s;
    -ms-animation: imageAnimation 36s linear infinite 0s;
    animation: imageAnimation 36s linear infinite 0s;
}

.cb-slideshow li div {
    z-index: 1000;
    position: absolute;
    bottom: 30px;
    left: 0px;
    width: 100%;
    text-align: center;
    opacity: 0;
    -webkit-animation: titleAnimation 36s linear infinite 0s;
    -moz-animation: titleAnimation 36s linear infinite 0s;
    -o-animation: titleAnimation 36s linear infinite 0s;
    -ms-animation: titleAnimation 36s linear infinite 0s;
    animation: titleAnimation 36s linear infinite 0s;
}

.cb-slideshow li div h3 {
    font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;
    font-size: 240px;
    padding: 0;
    line-height: 200px;
    color: white;
}

.cb-slideshow li:nth-child(1) span {
    background-image: url(../images/1.jpg);
    opacity: 0.9;
}

.cb-slideshow li:nth-child(2) span {
    background-image: url(../images/2.jpg);
    -webkit-animation-delay: 6s;
    -moz-animation-delay: 6s;
    -o-animation-delay: 6s;
    -ms-animation-delay: 6s;
    animation-delay: 6s;
}

.cb-slideshow li:nth-child(3) span {
    background-image: url(../images/3.jpg);
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}

.cb-slideshow li:nth-child(4) span {
    background-image: url(../images/4.jpg);
    -webkit-animation-delay: 18s;
    -moz-animation-delay: 18s;
    -o-animation-delay: 18s;
    -ms-animation-delay: 18s;
    animation-delay: 18s;
}

.cb-slideshow li:nth-child(5) span {
    background-image: url(../images/5.jpg);
    -webkit-animation-delay: 24s;
    -moz-animation-delay: 24s;
    -o-animation-delay: 24s;
    -ms-animation-delay: 24s;
    animation-delay: 24s;
}

.cb-slideshow li:nth-child(6) span {
    background-image: url(../images/6.jpg);
    -webkit-animation-delay: 30s;
    -moz-animation-delay: 30s;
    -o-animation-delay: 30s;
    -ms-animation-delay: 30s;
    animation-delay: 30s;
}

.cb-slideshow li:nth-child(2) div {
    -webkit-animation-delay: 6s;
    -moz-animation-delay: 6s;
    -o-animation-delay: 6s;
    -ms-animation-delay: 6s;
    animation-delay: 6s;
}

.cb-slideshow li:nth-child(3) div {
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}

.cb-slideshow li:nth-child(4) div {
    -webkit-animation-delay: 18s;
    -moz-animation-delay: 18s;
    -o-animation-delay: 18s;
    -ms-animation-delay: 18s;
    animation-delay: 18s;
}

.cb-slideshow li:nth-child(5) div {
    -webkit-animation-delay: 24s;
    -moz-animation-delay: 24s;
    -o-animation-delay: 24s;
    -ms-animation-delay: 24s;
    animation-delay: 24s;
}

.cb-slideshow li:nth-child(6) div {
    -webkit-animation-delay: 30s;
    -moz-animation-delay: 30s;
    -o-animation-delay: 30s;
    -ms-animation-delay: 30s;
    animation-delay: 30s;
}

/* Animation for the slideshow images */

@-webkit-keyframes imageAnimation {
    0% {
        opacity: 0;
        -webkit-animation-timing-function: ease-in;
    }
    8% {
        opacity: 1;
        -webkit-transform: scale(1.05);
        -webkit-animation-timing-function: ease-out;
    }
    17% {
        opacity: 1;
        -webkit-transform: scale(1.1);
    }
    25% {
        opacity: 0;
        -webkit-transform: scale(1.1);
    }
    100% {
        opacity: 0
    }
}

@-moz-keyframes imageAnimation {
    0% {
        opacity: 0;
        -moz-animation-timing-function: ease-in;
    }
    8% {
        opacity: 1;
        -moz-transform: scale(1.05);
        -moz-animation-timing-function: ease-out;
    }
    17% {
        opacity: 1;
        -moz-transform: scale(1.1);
    }
    25% {
        opacity: 0;
        -moz-transform: scale(1.1);
    }
    100% {
        opacity: 0
    }
}

@-o-keyframes imageAnimation {
    0% {
        opacity: 0;
        -o-animation-timing-function: ease-in;
    }
    8% {
        opacity: 1;
        -o-transform: scale(1.05);
        -o-animation-timing-function: ease-out;
    }
    17% {
        opacity: 1;
        -o-transform: scale(1.1);
    }
    25% {
        opacity: 0;
        -o-transform: scale(1.1);
    }
    100% {
        opacity: 0
    }
}

@-ms-keyframes imageAnimation {
    0% {
        opacity: 0;
        -ms-animation-timing-function: ease-in;
    }
    8% {
        opacity: 1;
        -ms-transform: scale(1.05);
        -ms-animation-timing-function: ease-out;
    }
    17% {
        opacity: 1;
        -ms-transform: scale(1.1);
    }
    25% {
        opacity: 0;
        -ms-transform: scale(1.1);
    }
    100% {
        opacity: 0
    }
}

@keyframes imageAnimation {
    0% {
        opacity: 0;
        animation-timing-function: ease-in;
    }
    8% {
        opacity: 1;
        transform: scale(1.05);
        animation-timing-function: ease-out;
    }
    17% {
        opacity: 1;
        transform: scale(1.1);
    }
    25% {
        opacity: 0;
        transform: scale(1.1);
    }
    100% {
        opacity: 0
    }
}

/* Animation for the title */

@-webkit-keyframes titleAnimation {
    0% {
        opacity: 0;
        -webkit-transform: translateY(200px);
    }
    8% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }
    17% {
        opacity: 1;
        -webkit-transform: scale(1);
    }
    19% {
        opacity: 0
    }
    25% {
        opacity: 0;
        -webkit-transform: scale(10);
    }
    100% {
        opacity: 0
    }
}

@-moz-keyframes titleAnimation {
    0% {
        opacity: 0;
        -moz-transform: translateY(200px);
    }
    8% {
        opacity: 1;
        -moz-transform: translateY(0px);
    }
    17% {
        opacity: 1;
        -moz-transform: scale(1);
    }
    19% {
        opacity: 0
    }
    25% {
        opacity: 0;
        -moz-transform: scale(10);
    }
    100% {
        opacity: 0
    }
}

@-o-keyframes titleAnimation {
    0% {
        opacity: 0;
        -o-transform: translateY(200px);
    }
    8% {
        opacity: 1;
        -o-transform: translateY(0px);
    }
    17% {
        opacity: 1;
        -o-transform: scale(1);
    }
    19% {
        opacity: 0
    }
    25% {
        opacity: 0;
        -o-transform: scale(10);
    }
    100% {
        opacity: 0
    }
}

@-ms-keyframes titleAnimation {
    0% {
        opacity: 0;
        -ms-transform: translateY(200px);
    }
    8% {
        opacity: 1;
        -ms-transform: translateY(0px);
    }
    17% {
        opacity: 1;
        -ms-transform: scale(1);
    }
    19% {
        opacity: 0
    }
    25% {
        opacity: 0;
        -webkit-transform: scale(10);
    }
    100% {
        opacity: 0
    }
}

@keyframes titleAnimation {
    0% {
        opacity: 0;
        transform: translateY(200px);
    }
    8% {
        opacity: 1;
        transform: translateY(0px);
    }
    17% {
        opacity: 1;
        transform: scale(1);
    }
    19% {
        opacity: 0
    }
    25% {
        opacity: 0;
        transform: scale(10);
    }
    100% {
        opacity: 0
    }
}

/* Show at least something when animations not supported */

.no-cssanimations .cb-slideshow li span {
    opacity: 1;
}

@media screen and (max-width: 1140px) {
    .cb-slideshow li div h3 {
        font-size: 100px
    }
}

@media screen and (max-width: 600px) {
    /*  .cb-slideshow li div h3 { font-size: 50px }*/
    .cb-slideshow li div h3 {
        font-size: 30px
    }
}
</style>

I think you dont want the overlay to be above all the content means you want an image some text content must be above it, and in between these two you want to have an overlay. 我认为您不希望覆盖层位于所有内容之上,这意味着您希望图像中必须包含一些文本内容,并且在这两者之间您希望具有覆盖层。 If this is the case, then you have to change the inside structure of a li. 如果是这种情况,则必须更改li的内部结构。

  • First put the div with text content. 首先将div放入文本内容。 (in your case you are using heading tag) (在您的情况下,您使用的是标题标签)
  • Second put the new div with class overlay, and style background color for overlay class as rgba(0,0,0,0.7) 其次,将新的div放置在类叠加层上,并将叠加层的样式背景颜色设置为rgba(0,0,0,0.7)
  • Last, put the image tag. 最后,放入图片标签。

Problem with this solution is that you have to create as number of overlay div as number of images. 该解决方案的问题在于,您必须创建与图像数量相同的叠加div数量。

But if you want overlay over everything then, you can add only new div just before the ul tag with same css property. 但是,如果您想覆盖所有内容,则可以仅在具有相同css属性的ul标记之前添加新的div。

0.7 is alpha value, you can change it between 0-1 for different dark scales of overlay. 0.7是Alpha值,您可以针对不同的深色叠加比例在0-1之间进行更改。

I suggest you to add an ::after pseudo element after your li span elements, like this: 我建议您在li span元素之后添加::after伪元素,如下所示:

.cb-slideshow li span:after {
  content: '';
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

Working snippet (with kitten images): 工作片段(带有小猫图片):

 /* TAKIT: Added only this */ .cb-slideshow li span:after { content: ''; background: rgba(0, 0, 0, 0.5); position: absolute; top: 0; bottom: 0; left: 0; right: 0; } .cb-slideshow, .cb-slideshow:after { position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; z-index: 0; } .cb-slideshow:after { content: ''; background: transparent url(../images/pattern.png) repeat top left; } .cb-slideshow li span { width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; color: transparent; background-size: cover; background-position: 50% 50%; background-repeat: none; opacity: 0; z-index: 0; -webkit-backface-visibility: hidden; -webkit-animation: imageAnimation 36s linear infinite 0s; -moz-animation: imageAnimation 36s linear infinite 0s; -o-animation: imageAnimation 36s linear infinite 0s; -ms-animation: imageAnimation 36s linear infinite 0s; animation: imageAnimation 36s linear infinite 0s; } .cb-slideshow li div { z-index: 1000; position: absolute; bottom: 30px; left: 0px; width: 100%; text-align: center; opacity: 0; -webkit-animation: titleAnimation 36s linear infinite 0s; -moz-animation: titleAnimation 36s linear infinite 0s; -o-animation: titleAnimation 36s linear infinite 0s; -ms-animation: titleAnimation 36s linear infinite 0s; animation: titleAnimation 36s linear infinite 0s; } .cb-slideshow li div h3 { font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif; font-size: 240px; padding: 0; line-height: 200px; color: white; } .cb-slideshow li:nth-child(1) span { background-image: url(http://placekitten.com/590/590); opacity: 0.9; } .cb-slideshow li:nth-child(2) span { background-image: url(http://placekitten.com/600/600); -webkit-animation-delay: 6s; -moz-animation-delay: 6s; -o-animation-delay: 6s; -ms-animation-delay: 6s; animation-delay: 6s; } .cb-slideshow li:nth-child(3) span { background-image: url(http://placekitten.com/580/580); -webkit-animation-delay: 12s; -moz-animation-delay: 12s; -o-animation-delay: 12s; -ms-animation-delay: 12s; animation-delay: 12s; } .cb-slideshow li:nth-child(4) span { background-image: url(http://placekitten.com/570/570); -webkit-animation-delay: 18s; -moz-animation-delay: 18s; -o-animation-delay: 18s; -ms-animation-delay: 18s; animation-delay: 18s; } .cb-slideshow li:nth-child(5) span { background-image: url(http://placekitten.com/605/605); -webkit-animation-delay: 24s; -moz-animation-delay: 24s; -o-animation-delay: 24s; -ms-animation-delay: 24s; animation-delay: 24s; } .cb-slideshow li:nth-child(6) span { background-image: url(http://placekitten.com/595/595); -webkit-animation-delay: 30s; -moz-animation-delay: 30s; -o-animation-delay: 30s; -ms-animation-delay: 30s; animation-delay: 30s; } .cb-slideshow li:nth-child(2) div { -webkit-animation-delay: 6s; -moz-animation-delay: 6s; -o-animation-delay: 6s; -ms-animation-delay: 6s; animation-delay: 6s; } .cb-slideshow li:nth-child(3) div { -webkit-animation-delay: 12s; -moz-animation-delay: 12s; -o-animation-delay: 12s; -ms-animation-delay: 12s; animation-delay: 12s; } .cb-slideshow li:nth-child(4) div { -webkit-animation-delay: 18s; -moz-animation-delay: 18s; -o-animation-delay: 18s; -ms-animation-delay: 18s; animation-delay: 18s; } .cb-slideshow li:nth-child(5) div { -webkit-animation-delay: 24s; -moz-animation-delay: 24s; -o-animation-delay: 24s; -ms-animation-delay: 24s; animation-delay: 24s; } .cb-slideshow li:nth-child(6) div { -webkit-animation-delay: 30s; -moz-animation-delay: 30s; -o-animation-delay: 30s; -ms-animation-delay: 30s; animation-delay: 30s; } /* Animation for the slideshow images */ @-webkit-keyframes imageAnimation { 0% { opacity: 0; -webkit-animation-timing-function: ease-in; } 8% { opacity: 1; -webkit-transform: scale(1.05); -webkit-animation-timing-function: ease-out; } 17% { opacity: 1; -webkit-transform: scale(1.1); } 25% { opacity: 0; -webkit-transform: scale(1.1); } 100% { opacity: 0 } } @-moz-keyframes imageAnimation { 0% { opacity: 0; -moz-animation-timing-function: ease-in; } 8% { opacity: 1; -moz-transform: scale(1.05); -moz-animation-timing-function: ease-out; } 17% { opacity: 1; -moz-transform: scale(1.1); } 25% { opacity: 0; -moz-transform: scale(1.1); } 100% { opacity: 0 } } @-o-keyframes imageAnimation { 0% { opacity: 0; -o-animation-timing-function: ease-in; } 8% { opacity: 1; -o-transform: scale(1.05); -o-animation-timing-function: ease-out; } 17% { opacity: 1; -o-transform: scale(1.1); } 25% { opacity: 0; -o-transform: scale(1.1); } 100% { opacity: 0 } } @-ms-keyframes imageAnimation { 0% { opacity: 0; -ms-animation-timing-function: ease-in; } 8% { opacity: 1; -ms-transform: scale(1.05); -ms-animation-timing-function: ease-out; } 17% { opacity: 1; -ms-transform: scale(1.1); } 25% { opacity: 0; -ms-transform: scale(1.1); } 100% { opacity: 0 } } @keyframes imageAnimation { 0% { opacity: 0; animation-timing-function: ease-in; } 8% { opacity: 1; transform: scale(1.05); animation-timing-function: ease-out; } 17% { opacity: 1; transform: scale(1.1); } 25% { opacity: 0; transform: scale(1.1); } 100% { opacity: 0 } } /* Animation for the title */ @-webkit-keyframes titleAnimation { 0% { opacity: 0; -webkit-transform: translateY(200px); } 8% { opacity: 1; -webkit-transform: translateY(0px); } 17% { opacity: 1; -webkit-transform: scale(1); } 19% { opacity: 0 } 25% { opacity: 0; -webkit-transform: scale(10); } 100% { opacity: 0 } } @-moz-keyframes titleAnimation { 0% { opacity: 0; -moz-transform: translateY(200px); } 8% { opacity: 1; -moz-transform: translateY(0px); } 17% { opacity: 1; -moz-transform: scale(1); } 19% { opacity: 0 } 25% { opacity: 0; -moz-transform: scale(10); } 100% { opacity: 0 } } @-o-keyframes titleAnimation { 0% { opacity: 0; -o-transform: translateY(200px); } 8% { opacity: 1; -o-transform: translateY(0px); } 17% { opacity: 1; -o-transform: scale(1); } 19% { opacity: 0 } 25% { opacity: 0; -o-transform: scale(10); } 100% { opacity: 0 } } @-ms-keyframes titleAnimation { 0% { opacity: 0; -ms-transform: translateY(200px); } 8% { opacity: 1; -ms-transform: translateY(0px); } 17% { opacity: 1; -ms-transform: scale(1); } 19% { opacity: 0 } 25% { opacity: 0; -webkit-transform: scale(10); } 100% { opacity: 0 } } @keyframes titleAnimation { 0% { opacity: 0; transform: translateY(200px); } 8% { opacity: 1; transform: translateY(0px); } 17% { opacity: 1; transform: scale(1); } 19% { opacity: 0 } 25% { opacity: 0; transform: scale(10); } 100% { opacity: 0 } } /* Show at least something when animations not supported */ .no-cssanimations .cb-slideshow li span { opacity: 1; } @media screen and (max-width: 1140px) { .cb-slideshow li div h3 { font-size: 100px } } @media screen and (max-width: 600px) { /* .cb-slideshow li div h3 { font-size: 50px }*/ .cb-slideshow li div h3 { font-size: 30px } } 
 <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Fullscreen Background Image Slideshow with CSS3 - A Css-only fullscreen background image slideshow" /> <meta name="keywords" content="css3, css-only, fullscreen, background, slideshow, images, content" /> <meta name="author" content="Codrops" /> <link rel="shortcut icon" href="../favicon.ico"> <link rel="stylesheet" type="text/css" href="css/demo.css" /> <link rel="stylesheet" type="text/css" href="css/style4.css" /> <script type="text/javascript" src="js/modernizr.custom.86080.js"></script> </head> <body id="page"> <ul class="cb-slideshow"> <li><span></span> <div> <h3>Picture perfect Designs</h3> </div> </li> <li><span>Image 02</span> <div> <h3>Perfect blend of Logic and creativity</h3> </div> </li> <li><span>Image 03</span> <div> <h3>Have an idea? contact us</h3> </div> </li> <li><span>Image 04</span> <div> <h3>Need a website for your buisness</h3> </div> </li> <li><span>Image 05</span> <div> <h3>qui·e·tude</h3> </div> </li> <li><span>Image 06</span> <div> <h3>re·lax·a·tion</h3> </div> </li> </ul> <div class="container"> <!-- Codrops top bar --> <div class="codrops-top"> <span class="right"> </span> <div class="clr"></div> </div> <!--/ Codrops top bar --> </div> </body> 

Hope it helps. 希望能帮助到你。

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

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