一、CSS3 2D转换

  通过 CSS3 转换,我们可以对元素进行移动、缩放、转动、拉长或拉伸。

  特别注意,我们在使用css3动画效果时,必须给他们加相应的浏览器前缀,以便浏览器识别,让我们更好的去应用它。

  下面我给大家用一个小例子介绍一下各大浏览器的相应前缀:

div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9(IE) */
-webkit-transform: rotate(30deg); /* Safari and Chrome(苹果和谷歌) */
-o-transform: rotate(30deg); /* Opera (欧朋)*/
-moz-transform: rotate(30deg); /* Firefox(火狐) */
} 

(1)translate() 方法:设置元素的移动。 

transform:translate(50px,100px);(把元素从左侧移动 50 像素,从顶端移动 100 像素。) 

(2)rotate() 方法:设置元素的旋转角度。(正值顺时针,负值逆时针)

 transform:rotate(30deg); (顺时针旋转 30 度。)
 transform:rotate(-30deg);(逆时针旋转 30 度。)

(3)scale() 方法:设置元素的尺寸增加或减少。

transform:scale(2,4);(第一个x值把宽度转换为原始尺寸的 2 倍,第二个y值把高度转换为原始高度的 4 倍。)

(4)skew() 方法:设置元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数。 

transform:skew(30deg,20deg);( 围绕 X 轴把元素翻转 30 度,围绕 Y 轴翻转 20 度。)

(5)matrix() 方法:会把所有2D 转换方法组合在一起,它需要六个参数,可以将元素进行:旋转、缩放、移动以及倾斜。 

transform:matrix(0.866,0.5,-0.5,0.866,0,0);(将 div 元素旋转 30 度)

二、CSS3 3D转换

(1)transform-origin 属性:设置旋转元素的基点位置。(它必须和transform属性一同使用)

transform: rotate(45deg);//首先旋转角度
transform-origin:20% 40%;//设置元素的基点位置(x,y)
语法:transform-origin: x y z;

x(可能的值)
y(可能的值)
z(可能的值)
  • left
  • center
  • right
  • length
  • %
  • top
  • center
  • bottom
  • length
  • %
  • length

(2)transform-style 属性:使被转换的子元素保留其 3D 转换。(也就是说:在 3D 空间中呈现被嵌套的元素。)(它也必须和transform属性一同使用)

transform: rotateY(60deg);
transform-style: preserve-3d;

(3)perspective 属性:设置元素被查看位置的视图(透视)。(目前浏览器都不支持 perspective 属性。)

perspective: 500;

(4)perspective-origin 属性:设置 3D 元素的基点位置。

perspective:150;
perspective-origin: 10% 10%;

(5)backface-visibility 属性:隐藏被旋转的 div 元素的背面。

  (大家可以联想一下制作卡片的翻转效果)

  链接:http://www.zhangxinxu.com/study/201210/css3-animate-flip-example.html

backface-visibility:hidden;
语法:backface-visibility: visible(背面是可见的)|hidden(背面是不可见的);

注意:2D与3D的区别——2D 转换元素能够改变元素 x 和 y 轴。3D 转换元素还能改变其 Z 轴。

这边我们为了更直观的看看他们还有哪些设置方法~给大家献上看一张图~~

三、CSS3 过渡

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

(过渡效果是在鼠标指针浮到元素上时发生的效果。)

这边我们要注意的是向要实现这一点,必须规定两项内容:

  • 规定您希望把效果添加到哪个 CSS 属性上
  • 规定效果的时长

(1)应用于宽度属性的过渡效果,时长为 2 秒。

transition: width 2s;
注意:如果时长未规定,则不会有过渡效果,默认值为0。

(2)向元素的宽度、高度和转换添加过渡效果。

transition: width 2s, height 2s, transform 2s;
//注意:如果我们需要向多个样式添加过渡效果,就要用逗号隔开。

(3)transition-property 属性:规定应用过渡的 CSS 属性的名称。

transition-property:width;

(4)transition-duration 属性:定义过渡效果花费的时间。默认是 0。

transition-duration: 5s;

(5)transition-timing-function 属性:以相同的速度从开始到结束的过渡效果。默认是 "ease"。

transition-timing-function: linear;
语法:transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);

注意:这个属性它可以设置不同的值,来改变其过渡效果的速度不同:

(6)transition-delay 属性:规定在过渡效果开始之前需要等待的时间,以秒或毫秒计。默认是 0。

transition-delay: 2s;

    希望对大家有所帮助~~~

HTML CSS3中2D转换、3D转换、过渡效果总结的更多相关文章

  1. CSS3的2D与3D转换

    2D和3D转换涉及到数学中的知识,作为一个数学专业的毕业生,不研究一下岂不是对不起自己的专业? 首先来看几个参数: 1.transform-origin:origin(起源,起点),也即变形的起点,在 ...

  2. css3动画2D、3D转换

    css3动画的2D.3D转换代码: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  3. CSS笔记(十二)CSS3之2D和3D转换

    参考:http://www.w3school.com.cn/css3/css3_2dtransform.asp 2D Transform 方法 函数 描述 matrix(n,n,n,n,n,n) 定义 ...

  4. CSS3带你实现3D转换效果

    前言 在css3中允许使用3D转换来对元素进行格式化,在原本只是2D转化的平面中引入了Z轴.在这之前我们讲解了css3中的2D转换,也就是二维空间变换,本篇的3D转换就是基于原来的2D转换而来,与2D ...

  5. CSS3中2D/3D转换、过渡、动画

    转换.过渡.动画 2D 转换 1.translate() 方法 通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数: 实例 d ...

  6. CSS3 2D、3D转换

    2D转换方法:transform().rotate().scale().skew().matrix() 3D转换方法:rotateX().rotateY() 1.示例代码 <!DOCTYPE h ...

  7. css3学习总结8--CSS3 3D转换

    3D 转换 1. rotateX() 2. rotateY() otateX() 方法 通过 rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转. 示例: div { transform ...

  8. 论文翻译——Rapid 2D-to-3D conversion——快速2D到3D转换

    https://blog.csdn.net/qq_33445835/article/details/80143598  目前想做一个关于2D转3D的项目,由于国内资料比较少而且大部分都是基于国外的研究 ...

  9. Rapid 2D-to-3D conversion——快速2D到3D转换

    https://blog.csdn.net/qq_33445835/article/details/80143598  目前想做一个关于2D转3D的项目,由于国内资料比较少而且大部分都是基于国外的研究 ...

随机推荐

  1. 连drawable目录都没搞明白就想开发APP?

      我是一个善良的搬运工,关于drawable,来看看这位的博客吧: https://blog.csdn.net/xuaho0907/article/details/72848520   hiahia ...

  2. Fortify漏洞修复总结

    1.代码注入 1.1 命令注入 命令注入是指应用程序执行命令的字符串或字符串的一部分来源于不可信赖的数据源,程序没有对这些不可信赖的数据进行验证.过滤,导致程序执行恶意命令的一种攻击方式. 问题代码: ...

  3. log4j日志不输出的问题

    今天服务器上报错,想先去看一下日志进行排查,结果发现日志很久都没有输出过了.从上午排查到下午,刚刚解决,因此记录一下,但现在也只是知其然,并不知其所以然,所以如果大家有什么想法请在下方评论. 先说一下 ...

  4. zipkin+elk微服务日志收集分析系统

    docker安装elk日志分析系统 在win10上安装docker环境 tip:win7/8 win7.win8 系统 win7.win8 等需要利用 docker toolbox 来安装,国内可以使 ...

  5. 单线程Redis性能为何如此之高?

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 实际项目开发中现在无法逃避的一个问题就是缓存问题,而缓存问题也是面试必问知识点之一,如果面试官好一点可能会简单 ...

  6. scrapy框架来爬取壁纸网站并将图片下载到本地文件中

    首先需要确定要爬取的内容,所以第一步就应该是要确定要爬的字段: 首先去items中确定要爬的内容 class MeizhuoItem(scrapy.Item): # define the fields ...

  7. 程序猿——踩bug之路

    从开始这就是一个新的坑,还好今天我们爬上了: 带着Ui界面的编程,最想感谢的是我的搭档乔美萱:此处我觉得需要掌声和尖叫,一路带我从走到飞: 一.结对编程项目:带UI的小初高数学学习软件 1.用户注册功 ...

  8. vue中关于滚动条的那点事

    vue中关于滚动条的那点事 不知道你有没有遇到过这种情况,有时当页面切换时,滚动条不在页面的顶端.最近半路加入一个项目,就遇到这种情况.(若只是为了解决此问题,可直接翻到最下方)下面谈谈解决此问题的过 ...

  9. 浅谈Spring的事务隔离级别与传播性

    浅谈Spring的事务隔离级别与传播性 这篇文章以一个问题开始,如果你知道答案的话就可以跳过不看啦@(o・ェ・)@ Q:在一个批量任务执行的过程中,调用多个子任务时,如果有一些子任务发生异常,只是回滚 ...

  10. 由"跨域"引出的一个终极思想(jsonp)

    1.什么是跨域? 当协议.子域名.主域名.端口号中任意一个不相同时,都算作不同域. 跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,但是因为浏览器存在一个"同源策略&q ...