3 D

3.1)rotateY

围绕着Y轴进行旋转

(1)正数是(站在右边推),负数是(站在左边推)

2.1)定义元素背过去是否可见

  1. backface-visibility: visible|hidden;

说明:visible表示可见,hidden表示不可见

测试贝塞尔曲线的网址:http://xuanfengge.com/easeing/ceaser/

1)translateZ

就是在Z轴上来回移动,但是如果没有透视的情况下,完全看不出效果,所以,一般transform:translateZ()都是配合透视一起使用

小经验:translateZ和rotate结合会产生不一样的3D效果,不同的顺序的效果截然不同,如果先rotate 在translateZ 元素是在空间里面发生旋转 而如果是translateZ在rotate 元素是在直线上发生旋转。

正值是凸出,负值相反。

2)透视 (景深)

  1. perspective:值

      

 

说明:透视值越小,透视效果越强,值越大,透视效果越弱,透视添加在父级身上

3灭点(透视点,消失点)

  1. perspective-origin:值

      

就是3D怼的方向。

说明:值可以是像素,也可以是百分比,还可以是方位名词,默认值是50%,50%(中心点)

4)transform-style

作用:规定被嵌套元素如何在3D空间中显示

  1. tranform-style:值 preserve-3D

      

值说明:flat是默认值,让子元素不保留其3D位置, preserve-3d  让子元素保留其3D位置 ,加在父亲身上

小总结:透视 灭点 transform-style都是添加在父级身上

关键: 当元素发生3D翻转的时候,整个坐标系也跟着发生了翻转!!

5)css3的动画

  1. animation:值

      

 

值说明:

(1)自定义动画名

(2)动画的持续时间 单位是s或者ms

(3)动画的曲线

(4)动画从何时开始

(5)控制动画执行的次数  没有单位, 一直执行:infinite

(6)控制动画是否逆序播放  默认值normal  逆序:alternate

(7)控制动画的播放和暂停  默认值是播放:running   暂停:paused

(8)动画最后的停留位置  forwards 让动画停留在最后一帧

动画一定要先写animation 然后搭配@keyframes去写自定义的动画

@浏览器前缀keyframes 自定义的动画名{
0%{
//css语句
}
...
100%{
//css语句
}
}

例:

  1.  @keyframes laowang{
    0%{
    width:100px;
    height:100px;
    left:0;
    transform:rotate(0deg);
    }
    50%{
    width:800px;
    height:800px;
    transform:rotate(720deg);
    }
    100%{
    width:500px;
    height:500px;
    left:800px;
    transform:rotate(-720deg);
    }
    }
 

(4)帧动画

steps(帧数)

其实就是让动画分成多少步去执行,steps()里面的数值是总画面数 - 1 ,在制作精灵图的时候每个画面的宽度尽量一致,并且建议在一行里面摆放

(5)animate.css库的使用

官网:https://daneden.github.io/animate.css/

作用:将一切常见的动画直接封装,开发者不需要考虑实现过程,只需要添加对应的类就能实现动画效果

使用步骤:

(1)将下载下来的animate.css 引入到你的项目中

(2)去官网获取想要的效果 给对应的元素添加上animated 类 (必填)和你想要的效果的类

CSS3基础03(3D②) 求粉丝的更多相关文章

  1. CSS3基础入门03

    CSS3 基础入门03 线性渐变 在css3当中,通过渐变属性实现之前只能通过图片实现的渐变效果.渐变分为线性渐变和径向渐变以及重复渐变三种.线性渐变的模式主要是颜色从一个方向过渡到另外一个方向,而径 ...

  2. CSS3 03. 3D变换、坐标系、透视perspective、transformZ、transform-style添加3D效果、backface-visibility元素背面可见、动画animation、@keyfarmes、多列布局

    1.左手坐标系 伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上,中指指向前方.这样我们就建立了一个左手坐标系,拇指.食指和中指分别代表X.Y.Z轴的正方向.如下图 CSS中的3D坐标系 CSS ...

  3. h5、css3基础

    一.html(超文本标记语言) 作用:实现页面布局 页面由许多标记符号组成 由浏览器解释执行 二.html主题创建方式 !(英文状态)+tab html:4s+tab html:5+tab 三.标签 ...

  4. CSS3基础入门01

    CSS3 基础入门 01 前言 相对于css2来说,css3更新了很多的内容,其中包括选择器.颜色.阴影.背景.文本.边框.新的布局方案.2d.3d.动画等等. 而如果想要学习css3的诸多部分,不妨 ...

  5. 一款基于jQuery和CSS3炫酷3D旋转画廊特效插件

    这是一款效果炫酷的jQuery和CSS3 3D旋转画廊特效插件.该3D画廊插件可以通过前后导航按钮来切换图片,效果就像旋转木马一样.它还带有点击放大图片,显示图片标题和用键盘操作等功能. 在线预览   ...

  6. 所有用CSS3写的3D特效,都离不开这些知识

    起因 昨晚在做慕课网的十天精通CSS3课程,其中的综合练习是要做一个3D导航翻转的效果.非常高大上. 以往这些效果我都很不屑,觉得网上一大堆这些特效的代码,复制粘贴就好了,够快.但是现实工作中,其实自 ...

  7. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  8. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

  9. css3基础教程:CSS3弹性盒模型

    今天给大家分享一篇关于CSS3基础教程 文章,主要是讲CSS3弹性盒模型.弹性布局的主要思想是让容器有能力来改变项目的宽度和高度,以填满可用空间(主要是为了容纳所有类型的显示设备和屏幕尺寸)的能力. ...

随机推荐

  1. sql server中批量插入与更新两种解决方案分享

    若只是需要大批量插入数据使用bcp是最好的,若同时需要插入.删除.更新建议使用SqlDataAdapter我测试过有很高的效率,一般情况下这两种就满足需求了 bcp方式 复制代码 代码如下: /// ...

  2. Lab_4_SysOps_Monitoring_Linux_v2.5

    System Operations - Lab 4: Monitoring with CloudWatch (Linux) - 2.5 ================================ ...

  3. [Doxygen]Doxygen

    1. Doxygen做什么? 首先这是一个文档生成工具,而不是代码中的注释生成工具.其次,如何生成对应文档,那就是按照一个配置文件中给出的配置格式来书写注释的时候,通过工具就可以解析代码注释最终生成文 ...

  4. ARM-ContexM3/4组优先级和子优先级抢占规则

    多个中断源在它们的抢占式优先级相同的情况下,子优先级不论是否相同,如果某个中断已经在服务当中,则其它中断源都不能打断它:只有抢占式优先级高的中断才可以打断其它抢占式优先级低的中断. 就是说, 组优先级 ...

  5. struts2执行流程

    当Web容器收到 请求(HttpServletRequest) 1.它将请求传递给一个标准的的过滤链包括 (ActionContextCleanUp)过滤器 2.然后经过Other filters(S ...

  6. 学习opencv

    图像缩放 cv::Mat src_img = cv::imread(); ; cv::Mat dst_img1; cv::Mat dst_img2(src_img.rows*0.5, src_img. ...

  7. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

    最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  8. PHP 返回13位时间戳

    13位时间戳生成函数如下所示: private function getMillisecond() { list($t1, $t2) = explode(' ', microtime()); retu ...

  9. fdisk -c 0 350 1000 300命令

    在Linux中有一个fdisk的分区命令,在对开发板的nand或者emmc分区也会用到这个命令, fdisk -c 这里0 350 1000 300分别代表: 每个扇区大小为0,一共350个柱面,起始 ...

  10. C++ 队列的实现

    /************************************************************************/ /* 实现一个通用同步队列 使用链表实现队列 (先 ...