Web移动端学习第二天

本文详细介绍了Web移动端的3D空间转换,包括3D坐标系、3D位移、透视、3D旋转、左手法则、立体呈现、空间旋转和空间缩放等概念,并通过实例解析了各种属性和方法的使用。此外,还探讨了CSS动画的特性,如关键帧动画的定义和调用,以及动画的时长、速度曲线、延迟时间等参数设置。文章适合前端开发者学习和参考。
摘要由CSDN通过智能技术生成

今天是学习web移动端的第二天,学习的主要内容分为3D空间转换与动画两个大部分。接下来我将一步一步将我今天学习的内容进行复盘。

一、3D空间转换

1、3D坐标系

说明: 3D坐标系比2D多了一个Z轴 如下图:

image.png

注意:   1、X 轴 往右越大,是正值, 否则反之
         2、Y 轴 往下越大,是正值,否则反之
         3、Z轴 (指向我们)越大,是正值,否则反之

2、3D位移

语法:

transform: translate3d(x, y, z);

但是在大多数的情况中,我们还是喜欢将他们分开写:

transform: translateX(100px);
transform: translateY(100px);
transform: translateZ(100px);

3、透视

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

语法:

 perspective: 800px; //取值范围一般在800px~1200px之间

注意事项:1、此代码一定给父亲元素 2、透视距离也称为视距,所谓的视距就是人的眼睛到屏幕的距离。( 其中 d 为透视的距离,值越小距离越近,值越大距离越远 z 是 translateZ 的距离, 这个距离靠近我们,盒子越大。值越大,盒子越近)如下图:

image.png

4、3D旋转

前引:因为有了透视的原因,所以我们进行3D旋转效果时可以更加清楚地看到变化效果

1.rotateX

说明:沿着X轴旋转,类似单杠的旋转,可以自行脑补

语法:

transform: rotateX(360deg);

2.rotateY

说明:沿着Y轴旋转,类似钢管舞

语法:

transform: rotateY(360deg);

5、左手法则

rotateX: 大拇指指向X轴正向方(右), 则四指指向的方向是旋转的方向

rotateY: 大拇指指向Y轴正向方(下), 则四指指向的方向是旋转的方向

rotateY: 大拇指指向Z轴正向方(大拇指指向我们自己), 则四指指向的方向是旋转的方向

6、立体呈现

说明:让子盒子在父盒子内有空间的展示,也可以理解为子元素真正意义上实现了3D立体

语法:

 transform-style: preserve-3d;
注意:代码必须给父元素加

7、空间旋转

作用:用来设置自定义旋转轴的位置以及角度

语法:

 transform:rotate3d(x, y, z, 角度度数) //x、y、z为0或1

8、空间缩放

作用:顾名思义,实现在3D状态下的子元素的放大或缩小

语法:

1、transform: scaleX(倍数);
2、transform: scaleY(倍数);
3、transform: scaleZ(倍数);
4、transform: scale3d(x, y, z);

二、动画

特点:动画最大的特点可以不用鼠标触发,自动的,反复的执行某些动画。与transition: ; 有区别

语法:

   1、 @keyframes 定义动画名称 {
    form{
    
    }
      to {

      }
    }
    
    2、 @keyframes 定义动画名称 {
      10%{
    
    }
      20% {

      }
      30%{
      
      }
      ...
    }

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

注意:动画名称和动画时间必须有

1、动画名字:动画名字参照css类选择器命名

2、动画时长和延迟时间别忘了带单位 s

3、有两个时间单位则第二个为延迟时间(何时开始)

4、infinate 无限循环动画(也可以为数字,数字为几就重复几次)

5、动画方向:alternate 为反向 就是左右来回执行动画(跑马灯)

6、执行完毕状态:

  • 1.forwards 动画结束停留在最后一帧状态
  • 2.backwards 动画结束回到开始状态

7、速度曲线:

  • 1.linear 让动画匀速执行
  • 2.ease 慢块慢
  • 3.ease-in 以低速开始
  • 4.ease-out 以低速结束
  • 5.ease-in-out 以低速开始和结束
  • 6.steps(数字) 逐帧运动,有几步完成,数字就填几

鼠标经过暂停动画:

语法:

 animation-play-state: paused;

多组动画:

注意:多组动画由逗号隔开

语法:

animation: run 1s steps(12) infinite, move 5s linear forwards;

今天的学习内容就是这么多,第一次写这个,还需进步,也希望大加能够不吝啬的多给点意见!下期再见。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值