CSS 3 动画 实现图片动态切换

用到的方法:

动画 Animation + @keyframes
注意:animation属性要与keyframes规则进行绑定

CSS3 创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的效果。当用@keyframes 创建动画时,需要把它绑定到一个选择器(例如div),否则动画不会有任何效果。

动画属性

属性描述
@keyframes规定动画
animation所有动画的简写属性
animation-name规定@keyframes 动画的名称
animation-duration规定动画完成一个周期所花费的时间,默认0
animation-timing-function规定动画速度曲线,默认是“ease”
animation-fill-mode规定当动画不播放时(当动画完成时或当动画有一个延迟为开始播放时)要用到的元素样式
animation-dispaly规定动画何时开始,默认是0
animation-iteration-count规定动画被播放的次数,默认是1
animation-direction规定动画是否在下一周期逆向播放,默认是“normal”
animation-play-state规定动画是否正在运行或暂停,默认是“running”

animation-timing-function规定速度曲线的参数

描述
linear动画从头到尾速度相同
ease默认。低速开始——加快——结束变慢
ease-in动画以低速开始
ease-out动画以低速结束
ease-in-out动画以低速开始和结束

实例

效果图
变换前
在这里插入图片描述
变换中
在这里插入图片描述
变换后
在这里插入图片描述
doem

<div class="background"></div>

<style>
.background{
  width: 100%;
  height: 100vh;
  animation: move 10s linear  infinite; /*自定义动画名称*/
  /*!move:动画名称,10s:执行时间 
     ease:执行的函数,infinite:代表执行次数,这里指无限次*!*/
}
@keyframes move {
/**注意这几个图片大小一定要一样,否则会出现抖动现象*/
/*这里的0%50%100%是相对于执行时间的,最后一个图片先播放*/
  0%{
    background: url('/static/image/img2.png') no-repeat;
  	background-size:100% 100%;
  	}
  50%{
  	background: url('/static/image/img1.jpg') no-repeat;
  	background-size:100% 100%; 
  	}
  100%{
  	background: url('/static/image/img3.jpg') no-repeat;
  	background-size:100% 100%; 
  	}
}
</style>
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Tab背景切换动态效果是一种常见的纯CSS3动画实例,可以通过使用CSS3的属性和过渡效果来实现。 首先,HTML结构中需要有切换的Tab标签和对应的内容区域。可以使用无序列表(`<ul>`)来创建Tab标签,每个标签使用列表项(`<li>`)表示,每个内容区域使用`<div>`来表示。 接下来,使用CSS选择器来设置Tab标签的样式,包括背景颜色、字体样式、边框等。为了实现背景切换的效果,可以利用伪类(:hover)来设置悬停时的效果。 同时,为每个标签添加过渡效果,使背景颜色的切换具有动画效果。可以使用`transition`属性来设置过渡的属性和时间。例如,设置背景颜色在0.3秒内从透明度为0到1的过渡效果:`transition: background-color 0.3s;` 最后,使用CSS选择器来设置内容区域的样式,包括背景颜色、字体样式、边框等。内容区域的样式和Tab标签的样式可以根据需要自行定义。 通过以上步骤,即可实现Tab背景切换动态效果。当鼠标悬停在某个Tab标签上时,背景颜色会渐变地切换,给用户一种动态的效果。 需要注意的是,为了兼容不同的浏览器,可以使用CSS3的前缀来添加浏览器私有属性,例如 `-webkit-`、`-moz-`等。 示例如下(假设有三个Tab标签): HTML代码: ```html <ul class="tabs"> <li class="tab">Tab 1</li> <li class="tab">Tab 2</li> <li class="tab">Tab 3</li> </ul> <div class="content">Content 1</div> <div class="content">Content 2</div> <div class="content">Content 3</div> ``` CSS代码: ```css .tab { display: inline-block; padding: 10px 20px; background-color: #ccc; cursor: pointer; transition: background-color 0.3s; } .tab:hover { background-color: #f00; } .content { display: none; padding: 20px; background-color: #f00; color: #fff; } .content.active { display: block; } ``` 通过以上代码,当鼠标悬停在Tab标签上时,背景颜色会从灰色渐变为红色。同时,对应的内容区域会显示,其他内容区域会隐藏。这样就实现了Tab背景切换动态效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麻辣翅尖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值