当前位置: 首页 > article >正文

空间转换与动画

空间转换主要是利用transform属性进行的在空间层次的位移旋转以及缩放效果,也成为3D转换

位移:

语法 :transform: translate3d(x, y, z);

 transform: translateX(值);

transform: translateY(值);

transform: translateZ(值);

取值(正负均可): 像素单位数值 |百分比

透视:[perspective]

主要是改变了视觉感受,视觉上感觉物体距离眼睛有所不同,利用了近小远大概念.一般取值800-1200

旋转:

语法

transform: rotateZ(值);

 transform: rotateX(值);

transform: rotateY(值)

旋转可根据以下法则进行:

但是立体呈现是不可以利用透视的,可以利用 transform-style: preserve-3d呈现3D图形

空间缩放:

语法

transform: scaleX(倍数);

transform: scaleY(倍数);

transform: scaleZ(倍数);

transform: scale3d(x, y, z)

动画:[由帧构成]

动画和过渡是看似一致的,但是差别很大,动画是可以实现多个状态间的过渡的,过渡过程可控.

动画的应用过程如下:

(1)首先要定义动画

主要有这两种效果

(2)使用动画(调用)

animation:动画名称  动画花费时长; 

动画调用其实有很多属性,不过常用的是上面的两个:具体如下:

animation:动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向  执行完毕时状态

动画时长/延迟时间:要加时间单位s

速度曲线:linear:速度从头到尾时间一样 | ease:默认速度变化为低高低 | ease-in:低速开始 | ease-out:低速结束 | ease-in-out:低速开始和结束

重复次数:infinite为无限循环

动画方向:alternate按照定义动画步骤反方向进行

 

执行完毕时状态:animation-play-state:paused一般和hover一起使用,可以暂停动画

在速度曲线[animation-timing-function]中可以利用steps(数字)进行逐帧动画取值(一般配合精灵图使用,主要是将动画分为了几等份)

如以下案例:实现该人物在原地跑步

 实现代码:

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Document</title>

  <style>

    .box {

      width: 140px;

      height: 140px;

      background-image: url(./06-素材/images/bg.png);

      animation: move 10s steps(12);

    }

    @keyframes move {

      from {

        background-position: 0 0;

      }

      to {

        background-position: -1680px 0;

      }

    }

  </style>

</head>

<body>

  <div class="box"></div>

</body>

</html>

而如果想要不在原地,是向前跑步的话,可以再次定义一个动画并调用

@keyframes move1 {

      from {

        transform: translate(0px, 0px);

      }

      to {

        transform: translate(600px, 0);

      }

    }

 animation: move 1s steps(12) infinite,

        move1 3s ease backwards;(两次调用需要写在一起,不然会发生覆盖)

心形跳动案例:

boby内设置:

<div class="box1">

    <div class="left"></div>

    <div class="right"></div>

  </div>

利用子绝父相进行定位,box1旋转45度,然后left和right为两个圆[box1必须为父亲,不然心形跳动时,形状会更改]

动画定义:

 @keyframes xin {

      0% {

        /* transform: rotateZ(145px); */

      }

      25% {

        transform: rotateZ(45deg) scale(0.8);

      }

      50% {

        transform: rotateZ(45deg) scale(0.5);

      }

      75% {

        transform: rotateZ(45deg) scale(0.8);

      }

      100% {

        transform: rotateZ(45deg) scale(1);

      }

    }

然后box1中进行调用

animation: xin .5s infinite;

      transform: rotateZ(45deg);

http://www.lryc.cn/news/2413915.html

相关文章:

  • cf聊天室,cf聊天室下载
  • VM虚拟机常见问题之二----声卡驱动问题
  • 数字系统的设计
  • C语言笔记1
  • Windows中d3dx9_28.dll丢失解决
  • 脾胃系病证--便秘,痢疾,泄泻,腹痛,呃逆。。。。。。。。
  • 联想android手机驱动,驱动天空 - 手机驱动 - 联想手机 lenovo
  • show java玩jar游戏_指小游Java模拟器v1.2/安卓手机上玩jar游戏
  • 数据中台技术选型和厂商分析
  • NO.117 国内8大免费CMS建站系统。
  • 【2024最新版】超详细Aircrack-ng安装保姆级教程,破译WiFi,收藏这一篇就够了
  • 【Python】成功解决FileNotFoundError: [Errno 2] No such file or directory: ‘xxx‘
  • k2698场效应管参数电流_LDO 基础特性 2 静态电流
  • ZYNQ学习笔记(一):基于ZYNQ7020、AN108的DDS实验(VIO可控频率字)
  • 002:如何画出收盘价的曲线图
  • DVI-A、DVI-D、DVI-I接口定义、DVI接口图和DVI接口标准介绍
  • 微软windows 8.1 Preview 预览版发布下载
  • Build qt5.15.0 qtbase on SUSE SLE-15
  • 网吧破解还原卡的方法总结!!
  • java 内存配置优化_JAVA调优设置 内存占用过大
  • IT开发技术群
  • Windows源码分析 - 1.初始化内核与执行体子系统
  • 北师大2018秋季计算机在线考试答案,北师大作业2018秋季《专科英语(二)》在线作业一课后参考答案...
  • xcode官方下载地址
  • C#【中级篇】C# 字符串(String)
  • oracle 9i/10g安装包和PATCH下载地址汇总
  • msn上的个人空间,比这个漂亮多了
  • Oracle的序列(sequence)
  • 【c/c++】复数类
  • vb6与access数据库交互常见问题——未完待续