CSS3随机背景图片切换特效
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`
CSS3随机背景图片切换特效
日期:2018-5-16 阿珏 css 浏览:4572次 评论:16条
css3的随机背景图片淡入淡出切换特效 演示效果如本篇文章背景所示看大家扒我的 幻想领域二次元限定版扒 的比较累,扒了大半个小时的,抽空整理一下发出来
设计之初本来是打算使用jQuery进行实现的,但是注意到了css3的@keyframes 规则,css3已经强大到曾经只有js才能实现的效果
定义和用法 #
通过 @keyframes 规则,您能够创建动画。
创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。
在动画过程中,您能够多次改变这套 CSS 样式。
以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。
0% 是动画的开始时间,100% 动画的结束时间。
为了获得最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
注释: 请使用动画属性来控制动画的外观,同时将动画与选择器绑定。
核心css部分(记得切换图片地址)
body {
background: #000;
background-attachment: fixed;
word-wrap: break-word;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
background-repeat: no-repeat
}
ul {
list-style: none
}
.cb-slideshow li:nth-child(1) span {
background-image: url(https://random.52ecy.cn/randbg.php?v=1520341099)
}
.cb-slideshow li:nth-child(2) span {
background-image: url(https://random.52ecy.cn/randbg.php?v=1520341159)
}
.cb-slideshow li:nth-child(3) span {
background-image: url(https://random.52ecy.cn/randbg.php?v=1520341149)
}
.cb-slideshow li:nth-child(4) span {
background-image: url(https://random.52ecy.cn/randbg.php?v=1520341139)
}
.cb-slideshow li:nth-child(5) span {
background-image: url(https://random.52ecy.cn/randbg.php?v=1520341129)
}
.cb-slideshow li:nth-child(6) span {
background-image: url(https://random.52ecy.cn/randbg.php?v=1520341119)
}
.cb-slideshow,.cb-slideshow:after {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -2
}
.cb-slideshow:after {
content: ''
}
.cb-slideshow li span {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
color: transparent;
background-size: cover;
background-position: 50% 50%;
background-repeat: none;
opacity: 0;
z-index: -2;
-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:nth-child(2) span {
-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 {
-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 {
-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 {
-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 {
-webkit-animation-delay: 30s;
-moz-animation-delay: 30s;
-o-animation-delay: 30s;
-ms-animation-delay: 30s;
animation-delay: 30s
}
@-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) rotate(0)
}
25% {
opacity: 0;
-webkit-transform: scale(1.1) rotate(0)
}
100% {
opacity: 0
}
}
当然还是需要配合HTML代码的 HTML部分(其中的文字部分和
``` ``` 注意:
网友评论:
凡人多烦事 1年前 (2020-02-16)
这个怎么搞得了嘞?我研究了半天,还是全黑屏[#aru_15][#aru_15]
阿珏 1年前 (2020-02-16)
@凡人多烦事:可以在群里at下我发个网址瞅瞅
凡人多烦事 1年前 (2020-02-17)
@阿珏:群里面那个是你呀?[#aru_15]叫我主人还是本群群主[#aru_16]
365cent 3年前 (2018-10-12)
翻牌子
我觉得不行 3年前 (2018-08-30)
果然不能纯抄代码,第一行的background: #000;用了之后背景全黑没有特效,排查了后发现改成background-color:rgba(0,0,0,0);成功了,还有代码里缺分号作为一个强迫症的我有点不能接受。不过还是得感谢博主分享的特效代码!
阿珏 3年前 (2018-08-31)
@我觉得不行:有些样式是要根据你实际情况更改的[#aru_36]。css在线格式化后,默认最后一行样式都是不加分号的[#aru_11]
墨渊 3年前 (2018-06-20)
这图片无敌了
墨渊 3年前 (2018-06-20)
审核元素,怎么屏蔽的,这个有点6,直接死机
阿珏 3年前 (2018-06-21)
@墨渊:低调[#aru_130]
腾讯视频 3年前 (2018-06-14)
不能复制?那编写这篇文章干嘛?
阿珏 3年前 (2018-06-14)
@腾讯视频:给你复制扒我文章?
腾讯视频 3年前 (2018-06-14)
@阿珏:真要扒文章是个人都能做到吧,只是对于博客禁右感到莫名所以
梦如 3年前 (2018-05-17)
已解决,强制刷新CSS ver=
梦奴 3年前 (2018-05-16)
换的是随机图API的链接 在360极速浏览器里不会刷新随机图
阿珏 3年前 (2018-05-17)
@梦奴:被浏览器缓存了,加个时间戳就可以了
梦如 3年前 (2018-05-16)
可以,赞一个
作者: 阿珏酱
出处:https://www.cnblogs.com/Ajue/p/18202138
本博客所有文章如无特别注明均为原创。本站使用「CC BY-NC-SA 4.0」创作共享协议,引用或转载请以超链接形式注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义