GVKun编程网logo

css3动画2D、3D转换(css3 2d转换)

17

本文的目的是介绍css3动画2D、3D转换的详细情况,特别关注css32d转换的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解css3动画2D、3D转换的机会,同时也

本文的目的是介绍css3动画2D、3D转换的详细情况,特别关注css3 2d转换的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解css3动画2D、3D转换的机会,同时也不会遗漏关于2D转换、3D转换、css 2D 3D转换、css transform 2D3D转换、CSS 学习(十一)2D、3D 转换的知识。

本文目录一览:

css3动画2D、3D转换(css3 2d转换)

css3动画2D、3D转换(css3 2d转换)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css3动画</title>
    <style type="text/css">
        div{width:100px;height:100px;background: rebeccapurple;color:#fff;}
        .div1{
            /*translate:移动(x,y)*/
            transform:translate(100px,100px);
            -webkit-transform: translate(100px,100px);/*safari,chrome*/
            -ms-transform: translate(100px,100px);/*IE*/
            -o-transform:translate(100px,100px);/*opera*/
            -moz-transform: translate(100px,100px);/*firefox*/
        }
        .div2{
            /*rotate:旋转(旋转角度edg)*/
            transform:rotate(100deg);
            -webkit-transform:rotate(100deg);/*safari,chrome*/
        }
        .div3{
            /*scale:缩放(宽,高)*/
            transform:scale(1,2);
            -webkit-transform:scale(1,2);/*safari,chrome*/
        }
        .div4{
            /*skew:倾斜(围绕x轴旋转,围绕y轴旋转)*/
            transform:skew(20deg,20deg);
            -webkit-transform:skew(20deg,20deg);/*safari,chrome*/
        }
        .div5{
            /*matrix矩阵,定义 2D 转换,使用六个值的矩阵
                          定义 3D 转换,使用 16 个值的 4x4 矩阵*/
            transform:matrix(0.586,0.8,-0.8,0.866,0,0);
            -webkit-transform: matrix(0.586,0.8,-0.8,0.866,0,0);
        }
        /*3D转换*/
        .div6{
            /*rotateX:(围绕x轴旋转)*/
            /*rotateY:(围绕y轴旋转)*/
            transform:rotateX(120deg);
            -webkit-transform:rotateX(120deg);/*safari,chrome*/
        }
    </style>
</head>
<body>
<div>这个是测试1</div><br/>
<div>这个是测试2</div><br/>
<div>这个是测试2</div><br/>
<div>这个是测试2</div><br/>
<div>这个是测试2</div><br/>
<div>这个是测试2</div><br/>
<div>这个是测试2</div><br/>

<a href="shijiazhuang.changtu.com/" target="_blank">石家庄汽车站时刻表</a>
</body>
</html>

2D转换、3D转换

2D转换、3D转换

转换是使元素改变形状、尺寸和位置的一种效果。能够对元素进行移动、缩放、转动、拉长或拉伸。

2D转换

浏览器兼容:

1)Internet Explorer 10、Firefox 以及 Opera 支持 transform 属性。

2)Chrome 和 Safari 需要前缀 -webkit-。

3)Internet Explorer 9 需要前缀 -ms-

 转换属性:

transform:向元素应用2D或3D转换

transform-origin:改变被转换元素的中心点(2D 转换元素能够改变元素 x 和 y 轴。3D 转换元素还能改变其 Z 轴。)

  x,y,z轴分别对应的取值:

    x:left(0%) center(50%) right(100%) length(px)

    x:top(100%) center(50%) bottom(0%) length(px)

    z:length(px)

2D转换的方法:

.div1:hover .div2{
            /*移动:横坐标发生位移,相对于原来的位置*/
            transform: translate(100px);
            -ms-transform:translate(100px);/*IE9*/
            -webkit-transform:translate(100px);/*Safari and Chrome*/
            -o-transform:translate(100px);/*opera*/
            -moz-transform:translate(100px);/*Firefox*/
            /*横纵坐标位移*/
            /*transform:translate(-100px,-100px);*/
            /*旋转*/
            /*transform:rotate(60deg);*/
            /*transform-origin:50% 50%;  */
            /*left center right  0 50% 100%  top center  bottom  100% 50% 0%*/
            /*缩小和放大,宽度为原来的0.5倍,高度为原来的2倍*/
            /*transform:scale(0.5,2);*/
            /*沿着x轴的方向倾斜了30度,沿着y轴方向倾斜了30度*/
            /*transform:skew(30deg,30deg);*/
        }

3D转换

浏览器兼容:

 

1)Internet Explorer 10 和 Firefox 支持 3D 转换。

 

2)Chrome 和 Safari 需要前缀 -webkit-。

 

3)Opera 仍然不支持 3D 转换(它只支持 2D转换)。

3D坐标系:

x轴在屏幕上为水平方向;y轴为垂直方向;z轴为垂直于屏幕的方向,也就是眼睛直视屏幕的这个距离。

转换属性:

transform-style:规定如何在 3D 空间中呈现被嵌套的元素,一般该声明应用在3D变换的兄弟元素们的父元素上,也就是舞台元素。transform-style:preserve-3d实现3D效果不能少。

        Firefox 支持 transform-style 属性。

        Chrome、Safari 和 Opera 支持替代的 -webkit-transform-style 属性。

backface-visibility:定义元素在不面对屏幕时是否可见。为了切合实际,我们常常会这样设置,使后面元素不可见:backface-visibility:hidden

perspective:设定了观察者与屏幕的距离,使具有三维位置变换的元素产生透视效果。

perspective-origin:规定了镜头在平面的位置,默认是放在元素的中心

3D转换方法:

.div1{
            width:500px;
            height:400px;
            background:pink;
            margin:0 auto;
            perspective: 800px;/*perspective其子元素设置的translateZ值越小,则子元素大小越小,(因为元素远去,我们眼睛看到的就会变小);translateZ值越大,该元素也会越来越大,但是translateZ值接近800px,但是不超过,该元素的大小就会撑满整个屏幕(如果父元素没有类似overflow:hidden溢出隐藏的限制),当translateZ值超过800px,该像素就看不见了(因为我们看不见眼睛后面的东西)*/
            transform-style:preserve-3d;
        }
        .div2{
            width:300px;
            height:200px;
            background:red;
            margin:0 auto;
            font-size: 100px;
            text-align: center;
        }
        .div1:hover .div2{
            /*沿着x,y,z轴移动*/
            /*transform:translateX(100px);*/
            /*-webkit-transform:translateX(100px);*/
            /*-moz-transform:translateX(100px);*/
            /*transform:translateY(100px);*/
            /*-webkit-transform:translateY(100px);*/
            /*-moz-transform:translatY(100px);*/
            /*transform:translateZ(100px);*/
            /*-webkit-transform:translateZ(100px);*/
            /*-moz-transform:translateZ(100px);*/
            transform:translate3d(100px,100px,100px);
            -webkit-transform:translate3d(100px,100px,100px);
            -moz-transform:translate3d(100px,100px,100px);
        }

 

css 2D 3D转换

css 2D 3D转换

1、转换
   1、什么是转换
      转换指的是 使元素 改变 形状、尺寸、位置的一种效果
      在CSS中,允许元素实现 2D 和 3D的转换效果,主要包含 :旋转,缩放,移动,倾斜

      2D :元素只能在X轴和Y轴平面上发生变化
      3D :元素还可以在 Z轴上发生变化
   2、转换属性
      1、transform 属性
         作用:规范元素使用2D或3D的转换效果
	 取值:可以指定一组转换"函数"
	       none : 默认值,元素不进行转换
	       transform-function : 表示一个或一组转换函数,多于一个的话,中间用 空格 分开
      2、转换的原点
         注意:会对 旋转操作 有很大的影响
	 属性:transform-origin
	       默认位置,原点是在元素的中心位置处
	 取值:数值 / 百分比  / 关键字
	       两个值:表示x轴 和 y轴的位置
	       三个值:表示x轴 y轴 z轴
   3、2D转换
      1、什么是2D转换
         使元素在x轴 和 y轴上所进行的转换效果可以橙汁为2D转换
	 2D转换包含:位移 缩放 旋转 倾斜
      2、2D转换-位移
         1、位移
	    让元素产生一个位置的移动变化效果
	 2、属性和函数
	    属性:transform
	    函数:translate()
		  
	          translate(x) : 在x轴的位移距离
		  translate(x,y) :在x轴和y轴的位移距离
	    取值:数值、百分比
	          可以取负值:
		  x为正 则向右移动
		  x为负 则向左移动
		  y为正 则向下移动
		  y为负 则向上移动
	    单向位移函数:
	      translateX(x):只在x轴进行位移操作 -->translate(x)
	      translateY(y):只在y轴进行位移操作
      3、2D转换-缩放
         1、缩放
	    改变元素的大小 称之为缩放
	 2、属性和函数
	    属性:transform
	    函数:scale()
	          scale(x)
		  scale(x,y)

		  注意:如果只给一个值,那么第二个默认与第一个值相等
	    取值:
	        默认值为1
		缩小:0 到 1之间的数值
		放大:大于1的数字
	    单向缩放函数:
	        scaleX(x) : 只在横向(宽度)产生变化效果
		scaleY(y) : 只在纵向(高度)产生变化效果
      4、2D转换-旋转
         1、旋转
	    使元素围绕着一个点(转换原点)实现角度的变化
	 2、属性与函数
	    属性:transform
	    函数:rotate(ndeg)
	        n取值为正 :则按顺时针旋转
		n取值为负 :则按逆时针旋转
      5、2D转换-倾斜
         1、倾斜
	    能够改变元素的形状
	    以原点位置,让元素围绕着x轴或y轴按照一定的角度倾斜
	 2、属性 和 函数
	    属性:transform
	    函数:skew(x)
	          skew(x,y)
		  取值为角度

	    单向倾斜函数:
	          skewX(x) --> skew(x)
		  skewY(y)
   4、3D转换
      1、什么是3D转换
         在x轴和y轴的基础上,增加对z轴(空间轴)的转换效果
      2、perspective 属性
         假定 人眼 到 投射平面的距离
	 注意:
	    1、使用perspective属性元素的本身不会得到3d转换效果,其子元素会有3d转换效果
	    2、浏览器兼容性
	      Chrome 和 Safari 需要使用 -webkit-perspective属性
      3、3D转换-位移
         1、什么是3d位移
	    在2d基础上,增加了对z轴上的位移距离
	 2、属性 和 函数
	    属性:transform
	    函数:
	         translateZ(z)
		 取值为正:向着人眼方向移动,物体越大 
		 取值为负:原理人眼方向,物体越小

		 translate3d(x,y,z)
      4、3D转换-旋转
         1、属性 和 函数
	    属性:transform
	    函数:
	       1、rotatex(xdeg)
	       2、rotatey(ydeg)
	       3、rotatez(zdeg)
	       4、rotate3d(x,y,z,deg)
	          
		  rotate3d(1,1,1,45deg);
		    -->rotatex(45deg) rotatey(45deg) rotatez(45deg)
		  rotate3d(1,0,0,45deg) -->
		    rotatex(45deg)
      5、transform-style 属性
         作用:如何在3D空间中,呈现被嵌套的元素
	       规范了当前元素的子元素 呈现什么样的位置显示
	 取值:
	      flat :子元素将不保留其3d位置,呈2d位置显示
	      preserve-3d :子元素将保留其3d位置


css transform 2D3D转换

css transform 2D3D转换

2D转换

translate 移动

<style>
div{ width: 100px; height: 100px; }
.box{ border: 1px dashed red; float: left; margin-right: 80px;}
.boxs{ background: #ff000061; border: 1px solid #ccc; }
.box1{ transform: translateX(50px); }
.box2{ transform: translate(20px, 20px); }
.box3{ transform: translateY(50px); }
</style>
<div>
    <div>translateX()</div>
</div>
<div>
    <div>translate()</div>
</div>
<div>
    <div>translateY()</div>
</div>

rotate 旋转

<style>
div{ width: 100px; height: 100px; }
.box{ border: 1px dashed red; float: left; margin-right: 50px;}
.boxs{ background: #ff000061; border: 1px solid #ccc; }
.box1{ transform: rotate(45deg); }
.box2{ transform: rotate(90deg); }
</style>
<div>
    <div>rotate(45deg)</div>
</div>
<div>
    <div>rotate(90deg)</div>
</div>

瞬时间方向旋转,值为负数时则反方向

scale 放大缩小

<style>
div{ width: 100px; height: 100px; }
.box{ border: 1px dashed red; float: left; margin-right: 80px;}
.boxs{ background: #ff000061; border: 1px solid #ccc; }
.box1{ transform: scale(2, 1.2); }
.box2{ transform: scale(0.9); }
.box3{ transform: scale(1.2); }
</style>
<div>
	<div>scale(2, 1.2)</div>
</div>
<div>
	<div>scale(0.9)</div>
</div>
<div>
	<div>scale(1.2)</div>
</div>

skew 倾斜

<style>
div{ width: 100px; height: 100px; }
.box{ border: 1px dashed red; float: left; margin-right: 80px;}
.boxs{ background: #ff000061; border: 1px solid #ccc; }
.box1{ transform: skew(20deg, 20deg); }
.box2{ transform: skewX(45deg); }
.box3{ transform: skewY(45deg); }
</style>
<div>
	<div>skew(20deg, 20deg)</div>
</div>
<div>
	<div>skewX(45deg)</div>
</div>
<div>
	<div>skewY(45deg)</div>
</div>

matrix 2D变换方法合并

matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。 <br />

3D转换

CSS 学习(十一)2D、3D 转换

CSS 学习(十一)2D、3D 转换

十二、CSS3 2D、3D 转换

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

Internet Explorer 10、Firefox 以及 Opera 支持 transform 属性。

Chrome 和 Safari 需要前缀 -webkit-。

注释:Internet Explorer 9 需要前缀 -ms-。

1.2D 转换

translate(): 通过该方法,元素从其当前位置移动,根据给定的 left (x 坐标) 和 top (y 坐标) 位置参数。

img#img2{
    transform: translate(20px,20px);
    -ms-transform: translate(20px,20px);        /* IE 9 */
    -webkit-transform: translate(20px,20px);    /* Safari and Chrome */
    -o-transform: translate(20px,20px);     /* Opera */
    -moz-transform: translate(20px,20px);       /* Firefox */
}
<img src="img/f1.jpg" alt="" srcset="">
<img id="img2" src="img/f1.jpg" alt="" srcset="">

rolate(): 将元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。

img#img2{
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
}

scale(): 元素尺寸会增加或减少,根据给定的宽度(x 轴)和高度(y 轴)参数。

img#img2{
    transform: scale(0.6,0.6);
    -ms-transform: scale(0.6,0.6);
    -webkit-transform: scale(0.6,0.6);
    -o-transform: scale(0.6,0.6);
    -moz-transform: scale(0.6,0.6);
}

skew(): 元素翻转给定的角度,根据给定的水平线(x 轴)和垂直线(y 轴)参数。

img#img2{
    transform: skew(30deg,20deg);
    -ms-transform: skew(30deg,20deg);
    -webkit-transform: skew(30deg,20deg);
    -o-transform: skew(30deg,20deg);
    -moz-transform: skew(30deg,20deg);
}

上述实例,将图像围绕 x 轴翻转 30 度,围绕 y 轴翻转 20 度。

matrix(): 把所有 2D 转换方法组合在一起。该方法需要六个参数,包含数学函数,允许你旋转、缩放、移动以及倾斜元素。

2D Transform 方法

函数 描述
matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
translate(x,y) 定义 2D 转换,沿着 X 和 Y 轴移动元素。
translateX(n) 定义 2D 转换,沿着 X 轴移动元素。
translateY(n) 定义 2D 转换,沿着 Y 轴移动元素。
scale(x,y) 定义 2D 缩放转换,改变元素的宽度和高度。
scaleX(n) 定义 2D 缩放转换,改变元素的宽度。
scaleY(n) 定义 2D 缩放转换,改变元素的高度。
rotate(angle) 定义 2D 旋转,在参数中规定角度。
skew(x-angle,y-angle) 定义 2D 倾斜转换,沿着 X 和 Y 轴。
skewX(angle) 定义 2D 倾斜转换,沿着 X 轴。
skewY(angle) 定义 2D 倾斜转换,沿着 Y 轴。

2.3D 转换

Internet Explorer 10 和 Firefox 支持 3D 转换。

Chrome 和 Safari 需要前缀 -webkit-。

Opera 仍然不支持 3D 转换(它只支持 2D 转换)。

rotateX(): 元素围绕其 X 轴以给定的度数进行旋转。

rotateY(): 元素围绕其 Y 轴以给定的度数进行旋转。

转换属性

下表列出了所有的转换属性:

属性 描述 CSS
transform 向元素应用 2D 或 3D 转换。 3
transform-origin 允许你改变被转换元素的位置。 3
transform-style 规定被嵌套元素如何在 3D 空间中显示。 3
perspective 规定 3D 元素的透视效果。 3
perspective-origin 规定 3D 元素的底部位置。 3
backface-visibility 定义元素在不面对屏幕时是否可见。 3

3D 转换方法

函数 描述
matrix3d(n,n,n,n,n,n, n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate3d(x,y,z) 定义 3D 转化。
translateX(x) 定义 3D 转化,仅使用用于 X 轴的值。
translateY(y) 定义 3D 转化,仅使用用于 Y 轴的值。
translateZ(z) 定义 3D 转化,仅使用用于 Z 轴的值。
scale3d(x,y,z) 定义 3D 缩放转换。
scaleX(x) 定义 3D 缩放转换,通过给定一个 X 轴的值。
scaleY(y) 定义 3D 缩放转换,通过给定一个 Y 轴的值。
scaleZ(z) 定义 3D 缩放转换,通过给定一个 Z 轴的值。
rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿 X 轴的 3D 旋转。
rotateY(angle) 定义沿 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿 Z 轴的 3D 旋转。
perspective(n) 定义 3D 转换元素的透视视图。

今天的关于css3动画2D、3D转换css3 2d转换的分享已经结束,谢谢您的关注,如果想了解更多关于2D转换、3D转换、css 2D 3D转换、css transform 2D3D转换、CSS 学习(十一)2D、3D 转换的相关知识,请在本站进行查询。

本文标签: