我正在使用多个div来构建一个响应性的单页网站,这些div可以扩展到用户浏览器的高度和宽度。我希望在网站上的一个div中的无限循环中将多个背景图像交叉淡入淡出。我试图尽可能地遵循本教程:http://css3.bradshawenterprises.com/cfimg/,但无法根据我的具体需求进行调整。我相信我错过了教程中的一段代码,这段代码对于这个系统是不可或缺的,但我不能理解我的生活,我必须了解哪些部分以及我必须实现哪些部分才能实现这一点。在这种情况下工作。 (部分原因在于我的说法,部分原因在于教程被奇怪地分割了。)
我是Web Dev的总菜鸟,所以如果我的代码非常错误,请原谅我(并纠正我)。
<html>
<body>
<div id="home" class="panel">
<div class="inner">
<div id="backgroundchange">
<div id="back1"></div>
<div id="back2"></div>
<div id="back3"></div>
<div id="back4"></div>
<div id="back5"></div>
</div>
</div>
</div>
<body>
<html>
<!--Div Formatting-->
html, body {
height: 100%;
margin: 0;
}
.panel {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
color: white;
height: 100%;
min-width: 100%;
text-align: center;
display: table;
margin: 0;
background: #1c1c1c;
padding: 0 0;
}
.panel .inner {
display: table-cell;
vertical-align: middle;
}
<!--Background Animation-->
#backgroundchange.backgroundimg {
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
transition: background-image 1s ease-in-out;
}
#back1 {
background: url(../img/Back1.png) no-repeat center center fixed;
}
#back2 {
background: url(../img/Back2.png) no-repeat center center fixed;
}
#back3 {
background: url(../img/Back3.png) no-repeat center center fixed;
}
#back4 {
background: url(../img/Back4.png) no-repeat center center fixed;
}
@keyframes cf4FadeInOut {
0% {
opacity: 1;
}
17% {
opacity: 1;
}
25% {
opacity: 0;
}
92% {
opacity: 0;
}
100% {
opacity: 1;
}
}
#backgroundchange div:nth-of-type(1) {
animation-delay: 6s;
}
#backgroundchange div:nth-of-type(2) {
animation-delay: 4s;
}
#backgroundchange div:nth-of-type(3) {
animation-delay: 2s;
}
#backgroundchange div:nth-of-type(4) {
animation-delay: 0;
}
提前谢谢。
答案 0 :(得分:11)
我相信这就是你想要的。我不确定您使用的浏览器是什么,但如果它是像chrome这样的webkit浏览器,请确保在您的css动画上使用-webkit-
前缀:
<强> HTML 强>
<div id="home" class="panel">
<div class="inner">
<div id="backgroundchange">
<div class="backgroundimg" id="back1"></div>
<div class="backgroundimg" id="back2"></div>
<div class="backgroundimg" id="back3"></div>
<div class="backgroundimg" id="back4"></div>
<div class="backgroundimg" id="back5"></div>
</div>
</div>
</div>
<强> CSS 强>
html, body {
height: 100%;
margin: 0;
}
.panel {
font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
color: white;
height: 100%;
min-width: 100%;
text-align: center;
display: table;
margin: 0;
background: #1c1c1c;
padding: 0 0;
}
.panel .inner {
display: table-cell;
vertical-align: middle;
}
.backgroundimg {
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
#back1 {
background: url("http://www.placecage.com/500/700") no-repeat center fixed;
}
#back2 {
background: url("http://www.placecage.com/500/600") no-repeat center fixed;
}
#back3 {
background: url("http://www.placecage.com/500/500") no-repeat center fixed;
}
#back4 {
background: url("http://www.placecage.com/500/800") no-repeat center fixed;
}
#back5 {
background: url("http://www.placecage.com/500/900") no-repeat center fixed;
}
@keyframes backgroundchangeFadeInOut {
0% {
opacity:1;
}
17% {
opacity:1;
}
25% {
opacity:0;
}
92% {
opacity:0;
}
100% {
opacity:1;
}
}
@-webkit-keyframes backgroundchangeFadeInOut {
0% {
opacity:1;
}
17% {
opacity:1;
}
25% {
opacity:0;
}
92% {
opacity:0;
}
100% {
opacity:1;
}
}
#backgroundchange div:nth-of-type(1) {
animation-delay: 8s;
-webkit-animation-delay: 8s;
}
#backgroundchange div:nth-of-type(2) {
animation-delay: 6s;
-webkit-animation-delay: 6s;
}
#backgroundchange div:nth-of-type(3) {
animation-delay: 4s;
-webkit-animation-delay: 4s;
}
#backgroundchange div:nth-of-type(4) {
animation-delay: 2s;
-webkit-animation-delay: 2s;
}
#backgroundchange div:nth-of-type(5) {
animation-delay: 0;
-webkit-animation-delay: 0;
}
#backgroundchange div {
animation-name: backgroundchangeFadeInOut;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-duration: 8s;
-webkit-animation-name: backgroundchangeFadeInOut;
-webkit-animation-timing-function: ease-in-out;
-webkit-animation-iteration-count: infinite;
-webkit-animation-duration: 8s;
}