CSS3转换

transform 属性

1、旋转 transform:rotate(<输入角度值>)

deg:角度(角度正值为顺时针)

浏览器内核前缀是加载transform上边,也就是只要浏览器兼容transform这个属性,那就必然兼容rotate

transform:translate-- 位移属性

一.transform:translateX(x)水平方向

二.transform:translateY(y)垂直方向

三.transform:translate(x,y)

value值可为具体值px、em、百分比等。

transform:translate(x,y)中,y值为可选参数。

1.若不写y值则默认为0,表示在X轴平移。

2.x值为必写值,若只想在y轴垂直方向移动,则需写x=0.

Z轴平移 transform : translateZ( z ) 指定对象z轴的平移

常用于遮罩里面

translate3d:指定对象的3D位移

语法:transform:translate3d(x,y,z);

参数说明:分别对应相应的轴,参数不允许省略。


transform:scale(number)---

整体缩放倍数(缩小、扩大),1为基准。

transform:scaleX(x)--坐标原点在水平方向中线上

transform:scaleY(y)--坐标原点在垂直方向中线上

transform:scale(x,y)--坐标原点在图片的正中心,y为可选值,若y不写则默认为与x值相同,保证图片等比例缩小或放大,不会变形。

3D缩放scaleZ

transform:scaleZ(0.5); 变的是厚度

transform:scale3d(x,y,z);参数不允许省略;


扭曲skew

transform : skew / skewX / skewY(角度)

skewX(angle) 正值为负角度,负值时为正角度。-90°~90°

skewY(angle)正值为正角度,负值为负角度。-90°~90°

skew()若仅一个值时,此值为X的值,Y为0.


3D转换角度--transform:rotate

rotateX(deg)--围绕着几何中心X轴旋转

rotateY(deg)--围绕着几何中心Y轴旋转

rotateZ(deg)--围绕着几何中心Z轴旋转(效果类似于rotate() )

transform:rotate(x,y,z,角度)--x,y,z表示旋转的方向,第四个参数表示旋转的角度,参数不允许省略。rotate(1,1,1,45deg)三个叠加效果。

xyz的值满足x²+y²+z²=1,按比例缩放大小,然后按缩放后的数值乘以设置的角度值来进行旋转

4个数值其中某个为负值,表示逆时针旋转。


transform 与坐标系统

transform-origin属性:更改转换元素的参考中心

语法:transform-origin:x-axis y-axis z-axis;

-------------------------------------------------

更改转换元素的参考中心点;可以省略Z轴,表示2D坐标。

x-axis的值可以为left|center|right||length|%

y-axis的值可以为top|center|bottom|length|%

【百分比是相对元素自身】

第二个参数y-axis可以省略,如果不写的话代表的是50%


transform:matrix(a,b,c,d,tx,ty); 

    注意书写方向是竖直方向

X、Y表示转换元素的所有坐标

目标矩阵说明:

ax+by+e为变换后的水平坐标,bx+dy+f表示变换后的垂直位置

transform:matrix(1,0,0,1,x,y)等同于transform:translate(x,y);

矩阵matrix镜像对称效果

matrix((1-k*k)/(1+k*k), 2k/(1+k*k), 2k/(1+k*k), (k*k -1)/(1+k*k),0,0)

对称轴一定通过元素变换的中心点,k是对称轴的斜率


transform: matrix(1, 0, 0, 1, x, y)等同于transform: translate(x, y)。

transform: matrix(sx, 0, 0, sy, 0, 0)等同于transform: scale(sx, sy)。

transform: matrix(cosθ, sinθ, -sinθ, cosθ, 0, 0)等同于transform: rotate(θdeg)。

transform: matrix(1, tanθy, tanθx, 1, 0, 0)等同于transform: skew(θxdeg, θydeg)。

实现3D效果 有被挡住部分

transform-style:preserve-3d;//写在父元素上

transform:rotateY(45deg)//写在子元素上

perspective-origin : x y ;

默认值为:perspective-origin :50% 50%;

观察的位置,类似主视图俯视图左视图切换视角

若值为bottom,表示从下往上看。

若值为top,表示从上往下看。

backface-visibility属性:

指定元素背面面向用户时是否可见。

语法:

backface-visibility:visible | hidden;

默认为visible可见

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容