transition(过渡)和animation(动画)——CSS

1.transition过渡

可以为一个元素在不同状态之间进行切换时添加过渡效果,实现不同状态间的变化效果。通过触发事件(鼠标悬停、点击等),在两个状态间切换。

1.1 使用

语法:transition: [property] [duration] [timing-function] [delay];

  • property​ ​:过渡属性(如background-colorall表示所有属性)。

  • ​duration​ ​:持续时间(如0.3s),必须设置

  • ​timing-function​ ​:速度曲线(easelinearcubic-bezier()等)。

  • ​delay​ ​:延迟时间(如0.2s

示例代码:表示当鼠标悬停在img标签时,宽高从200×200变为500×400。

html 复制代码
<style>
    img {
        width:200px;
        height:200px;
        
        transition:all 1s;
        /*all表示对自身所有属性都加上过渡效果,若要单独让某个属性添加过渡则写具体的css属性,1s表示过渡效果的时间*/
    }
    img:hover {
        width:500px;
        height:400px;
    }
</style>

<img src="#">

2. animation动画

通过关键帧定义复杂动画序列,支持自动播放和循环,允许在复数个状态间进行切换,且可以在页面加载时自动开始运行,不需要事件触发。

2.1 使用

语法:animation: [name] [duration] [timing-function] [delay] [iteration-count] [direction] [fill-mode];

  • ​name​ ​:@keyframes定义的动画名。

  • ​iteration-count​ ​:播放次数(infinite为无限循环)。

  • ​direction​ ​:播放方向(alternate交替播放)。

  • ​fill-mode​ ​:动画结束状态(forwards保留最后一帧)。

代码示例:修改box盒子的background-color属性,从红色变为黄色。

html 复制代码
<style>
	@keyframes example {
 /* from(等价于 0%):动画起始状态;to(等价于 100%):动画结束状态,可通过百分比定义中间状态(如 50% {background-color: blue;} */
  		from {background-color: red;}
  		to {background-color: yellow;}
}

.box {
  width: 100px;
  height: 100px;
  background-color: red;
    /* 引用关键帧,过渡时间为5s, infinite为动画无限循环 */
  animation: example 5s infinite;
}
</style>
相关推荐
majingming1235 小时前
FUNCTION
java·前端·javascript
A_nanda6 小时前
Vue项目升级
前端·vue3·vue2
SuperEugene6 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
abigale037 小时前
【浏览器 API / 网络请求 / 文件处理】前端文件上传全流程:从基础上传到断点续传
前端·typescript·文件上传·vue cli
Setsuna_F_Seiei7 小时前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
新缸中之脑7 小时前
追踪来自Agent的Web 流量
前端
wefly20177 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
英俊潇洒美少年8 小时前
vue如何实现react useDeferredvalue和useTransition的效果
前端·vue.js·react.js
kyriewen119 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript
英俊潇洒美少年9 小时前
react19和vue3的优缺点 对比
前端·javascript·vue.js·react.js