0
点赞
收藏
分享

微信扫一扫

移动web第二天

鱼板番茄 2022-04-14 阅读 42
前端css3

文章目录


一、空间转换

  • 目标:使用transform属性实现元素在空间内的位移、旋转、缩放等效果
  • 空间:是从坐标轴角度定义的。x 、y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同。
  • 空间转换也叫3D转换

1、空间位移

语法

  • transform: translate3d(x, y, z);
  • transform: translateX(值);
  • transform: translateY(值);
  • transform: translateZ(值);

取值(正负均可)

  • 像素单位数值
  • 百分比

2、透视

属性(添加给父级)

  • perspective:值;
  • 取值:像素单位数值,数值一般在800–1200
  • 透视距离也称为视距,所谓的视距就是人的眼睛到屏幕的距离

作用

  • 空间转换时,为元素添加近大远小、近实远虚的视觉效果

3、空间旋转

语法

  • transform:rotateZ(值);
  • transform:rotateX(值);
  • transform:rotateY(值);

左手法则

  • 判断旋转方向: 左手握住旋转轴, 拇指指向正值方向, 手指弯曲方向为旋转正值方向

拓展

  • rotate3d(x, y, z, 角度度数)
  • 用来设置自定义旋转轴的位置及旋转的角度
  • x,y,z取值为0-1之间的数字

4、立体呈现

  • 盒子父元素添加transform-style: preserve-3d;
  • 按需求设置子盒子的位置(位移或旋转)

5、空间缩放

  • transform: scaleX(倍数);
  • transform: scaleY(倍数);
  • transform: scaleZ(倍数);
  • transform: scale3d(x, y, z);

二、动画

  • 使用animation添加动画效果
  • 实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)
  • 动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面
  • 构成动画的最小单元:动画帧

1、实现步骤

定义动画

  @keyframes 动画名称 {
    from{}
    to{}
  }

  @keyframes 动画名称 {
    0%{}
    15%{}
    80%{}
    100%{}
  }

使用动画

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

2、动画属性

  • animation: 动画名称 动画时长 速度曲线 延迟时间 重复次数动画方向 执行完毕时状态;
  • 动画名称动画时长必须赋值
  • 取值不分先后顺序
  • 如果有两个时间值,第一个表示动画时长,第二个表示延迟时间
属性作用取值
animation-name动画名称
animation-duration动画时长
animation-delay延迟时间
animation-fill-mode动画执行完毕时状态forwards:最后一帧状态backwards:第一帧状态
animation-timing-function速度曲线linear:匀速,补间动画steps(数字)逐帧动画,一般配合精灵图实现动画效果
animation-iteration-count重复次数infinite为无限循环
animation-direction动画执行方向alternate为反向
animation-play-state暂停动画paused为暂停,通常配合:hover使用

3、多组动画

animation: 
   change 1s steps(12) infinite,
   move 3s forwards linear;
举报

相关推荐

移动web第二天之案例

RHCSA第二天

CSS第二天

html第二天

出差第二天

MySQL第二天

集合第二天

java第二天

DOM第二天

0 条评论