news 2026/6/10 12:14:28

Html-CSS动画

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Html-CSS动画

CSS动画技术指南

CSS动画概述

CSS动画是通过CSS技术控制页面元素属性变化的实现方式。相比JavaScript动画,CSS动画具有以下优势:

  • 无需依赖JavaScript即可实现
  • 动画效果更流畅
  • 由浏览器直接执行,性能更高
  • 代码量更少
  • 兼容性良好(通常支持IE10及以上浏览器)

如何鼠标移到指定位置出现盒子

过渡(Transition)效果

1.1 过渡基础

过渡(transition)用于指定属性变化时的平滑切换方式:

  • 需要特定条件触发(如:hover、:active、:focus)
  • 一次性效果,不支持循环
  • 仅包含初始值和结束值两帧
  • 兼容IE10+,移动端支持良好

1.2 过渡属性

  1. transition-property
    指定参与过渡的属性:

    • none:无过渡效果
    • all:所有属性参与过渡(默认)
    • property:自定义属性列表(逗号分隔)

    注意:

    • 所有数值类型属性均可参与过渡(width/height/left/top等)
    • 需在有效数值间进行过渡
  2. transition-duration
    指定过渡持续时间(必填)
    单位:s(秒)或ms(毫秒)

  3. transition-timing-function
    控制过渡变化曲线(可选):

    • ease:默认值(慢→快→慢)
    • linear:匀速
    • ease-in:慢→快
    • ease-out:快→慢
    • ease-in-out:慢→快→慢
    • steps():分步过渡
    • cubic-bezier(n,n,n,n):贝塞尔曲线(0-1值)
  4. transition-delay
    设置过渡延迟时间(可选)
    单位:s或ms

  5. transition
    简写属性,可同时设置以上所有属性(可选)

关键帧动画(Animation)

2.1 动画基础

与过渡不同,动画可自动触发,无需属性变化。

关键帧设置方法:

/* 方法一 */ @keyframes 名称 { from {初始状态} to {结束状态} } /* 方法二 */ @keyframes 名称 { 0% {初始状态} 50% {中间状态} 100% {结束状态} }

注意:

  • 帧顺序可调整
  • 未指定初始/结束帧时使用元素默认样式
  • 可使用逗号同时设置多个关键帧

2.2 动画属性

  1. animation-name
    绑定关键帧名称(必填),可设置多个动画(逗号分隔)

  2. animation-duration
    动画持续时间(必填)
    单位:s或ms

  3. animation-timing-function
    动画速度曲线(与过渡相同)

  4. animation-delay
    动画延迟时间

  5. animation-iteration-count
    播放次数:

    • n:具体次数
    • infinite:无限循环
  6. animation-direction
    播放方向:

    • normal:默认(from→to)
    • reverse:to→from
    • alternate:正向+反向交替
    • alternate-reverse:反向+正向交替
  7. animation-fill-mode
    动画非播放时的元素样式:

    • none:默认(恢复初始)
    • forwards:保持结束状态
    • backwards:保持初始状态
    • both:结合两者
  8. animation-play-state
    控制动画状态:

    • running:播放(默认)
    • paused:暂停
  9. animation
    简写属性,可包含以上所有属性值

2D变形(Transform)

3.1 位移(translate)

transform: translate(x,y);
  • x轴:正值右移,负值左移
  • y轴:正值下移,负值上移
  • 可单独设置:translateX()/translateY()/translateZ()
  • 支持百分比(基于自身尺寸)
  • 不影响其他元素布局
  • 对行内元素无效
垂直水平居中实现:
position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);

3.2 旋转(rotate)

transform: rotate(角度);
  • 默认绕中心点旋转
  • 单位:deg(度)
  • 正值:顺时针
  • 负值:逆时针
  • 可单独设置:rotateX()/rotateY()/rotateZ()

3.3 缩放(scale)

transform: scale(x, y);
  • 默认值:1(无单位)
  • 值 < 1:缩小元素;值 > 1:放大元素
  • 支持单独设置各轴向:scaleX() / scaleY() / scaleZ()
  • 缩放操作不会影响其他元素的布局

3.4 倾斜(skew)

transform: skew(x-angle, y-angle);
  • 倾斜单位:deg
  • 单参数:仅设置x轴倾斜角度(y轴默认为0)
  • 双参数:第一个为x轴角度,第二个为y轴角度
  • 倾斜方向:
    • x轴正值向左倾斜,负值向右倾斜
    • y轴正值向上倾斜,负值向下倾斜
    • 参照点为元素左上角
  • 支持单独设置:
    transform: skewX(); transform: skewY();

3.5 变形原点(transform-origin)

transform-origin: x-axis y-axis;
  • 功能:改变元素变形时的基准点(默认为元素中心)
  • 生效条件:必须配合transform属性使用
  • 取值方式:
    • 关键词:left/center/right/top/bottom等
    • 数值:px或百分比(基于元素左上角计算)
  • 默认值:
    transform-origin: center center;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 0:50:21

RaNER模型实战应用|AI智能实体侦测服务助力非结构化文本分析

RaNER模型实战应用&#xff5c;AI智能实体侦测服务助力非结构化文本分析 副标题&#xff1a;基于RaNER的中文命名实体识别服务在信息抽取中的工程实践 1. 引言&#xff1a;从杂乱文本中提取关键信息的挑战 在当今数据爆炸的时代&#xff0c;企业每天都会产生和接收海量的非结…

作者头像 李华
网站建设 2026/6/6 1:23:58

AI分类模型学习捷径:云端实验+实时指导

AI分类模型学习捷径&#xff1a;云端实验实时指导 引言&#xff1a;为什么云端学习AI分类模型更高效&#xff1f; 当你第一次接触AI分类模型时&#xff0c;可能会被各种专业术语和复杂的代码吓到。传统的学习方式往往需要你在本地安装各种软件、配置环境、下载数据集&#xf…

作者头像 李华
网站建设 2026/5/23 14:28:52

收藏!后端工程师转AI大模型开发指南:技能清单+学习路径全解析

随着AI大模型技术的爆发式发展&#xff0c;行业对大模型相关开发人才的需求持续飙升。对于后端工程师而言&#xff0c;这正是跨界转型的黄金机遇——依托自身已有的开发基础&#xff0c;转向AI大模型开发领域&#xff0c;不仅能拓宽职业赛道&#xff0c;更能搭上技术红利的快车…

作者头像 李华
网站建设 2026/6/9 9:31:32

Qwen3-VL-WEBUI镜像发布:4B模型轻松搞定视频语义理解与结构化输出

Qwen3-VL-WEBUI镜像发布&#xff1a;4B模型轻松搞定视频语义理解与结构化输出 1. 引言&#xff1a;从“看得见”到“看得懂”的跨越 在智能设备无处不在的今天&#xff0c;我们每天都在产生海量视频数据——网课、会议录像、监控画面、直播回放。但“看得见”不等于“看得懂”…

作者头像 李华
网站建设 2026/5/31 19:38:24

高效中文NER技术落地指南|AI智能实体侦测服务集成WebUI实战

高效中文NER技术落地指南&#xff5c;AI智能实体侦测服务集成WebUI实战 副标题&#xff1a;基于RaNER模型的命名实体识别服务从部署到应用的完整实践路径 1. 引言&#xff1a;为什么需要高效的中文实体侦测能力&#xff1f; 在当今信息爆炸的时代&#xff0c;非结构化文本数…

作者头像 李华