CSS3转换

transform属性

  • 概念
    让元素在一个坐标系统中变形,这个属性包含一系列变形函数,可以移动、旋转和缩放元素。
  • 兼容性
    IE10+、FireFox16+、Chrome36+、Safari16+、Opera23+

2D转换

rotate属性值

  • 概念
    通过指定的角度参数对原元素指定一个2D旋转。
  • 语法
    transform:rotate(角度);(正数表示顺时针旋转,负数表示逆时针旋转)

translate属性

  • 概念
    根据X轴和Y轴位置给定的参数,从当前元素位置移动。
  • 三种情况
    translateX(x)仅水平方向移动;
    translateY(y)仅垂直方向移动;
    translate(x,y)水平方向和垂直方向同时移动。
属性值描述语法
translateX(x)通过给定一个X方向上的数目指定一个位移transform:translateX(x);
translateY(y)通过给定一个X方向上的数目指定一个位移transform:translateY(y);
translate(x,y)通过矢量[tx,ty]指定一个2D 移动,tx是第一个过渡值参数,ty是第二个过渡值参数transform:translate(x,y);

scale属性

  • 概念
    指定元素的2D缩放。
  • 三种情况
    scaleX(x)元素仅水平方向缩放;
    scaleY(y)元素仅垂直方向缩放;
    scale(x,y)使元素水平方向和垂直方向同时缩放。
属性值描述语法
scaleX(x)使用[sx,1]缩放矢量执行缩放操作,sx为所需参数transform:scaleX(x)
scaleY(y)使用[sy,1]缩放矢量执行缩放操作,sy为所需参数transform:scaleY(y)
scale(x,y)提供执行[sx,sy]缩放矢量的两个参数指定一个2D缩放transform:scale(x,y)

skew属性

  • 概念
    指定元素斜切扭曲
  • 三种情况
    skewX(angle):仅使元素在水平方向扭曲变形;
    skewY(angle):仅使元素在垂直方向扭曲变形;
    skew(angle,angle)使元素在水平和垂直方向同时扭曲。
属性值描述语法
skewX(angle)按给定的角度沿X轴进行斜切变换transform:skewX(angle);
skewY(angle)按给定的角度沿Y轴进行斜切变换transform:skewY(angle);
skew(angle,angle)按给定的角度分别沿X轴和Y轴进行斜切变换,第一个值对应X轴,第二个值对应Y轴transform:skew(angle,angle);

3D转换

rotate(旋转)

属性值描述语法
rotateX指定元素在X轴上的旋转角度transform:rotateX(angle);
rotateY指定元素在Y轴上的旋转角度transform:rotateY(angle);
rotateZ指定元素在Z轴上的旋转角度transform:rotateZ(angle);
rotate3d指定元素的3D旋转角度transform:rotate3d(x,y,z,angle);(前三个参数代表方向,第四个参数代表旋转的角度,参数不允许省略)

translate(移动)

属性值描述语法
translateX指定元素沿X轴平移transform:translateX(x);
translateY指定元素沿Y轴平移transform:translateY(y);
translateZ指定元素沿Z轴平移transform:translateZ(z);
translate3d指定元素进行3D位移transform:translate3d(x,y,z);

transform-origin属性

  • 概念
    允许更改转换元素的基准点。
  • 属性值
属性值描述
left元素的最左边
top元素的最上边
bottom元素的最下边
right元素的最右边
length、%固定的长度或者元素的百分比位置,左上角为起点
  • 语法
    transform-origin:x,y,z(3D转换需要添加,2D转换不需要添加)。

矩阵

CSS3中的矩阵
CSS3中的矩阵指的是一个方法,书写为matrix()和matrix3d();matrix是元素2D平面的转换,2D转换矩阵为33;matrix3d是元素3D的转换,3D转换矩阵为44;

  • 矩阵matrix
    transform:matrix(a,b,c,d,tx,ty,);
    在这里插入图片描述
    x、y表示转换元素各个点的坐标
  • 目标矩阵说明
    ax+cy+e为变换后的水平坐标,bx+dy+f为变换后的垂直坐标。
  • 注意
    matrix在Firefox浏览器下需要添加单位,webkit内核默认px,translate等方法需要加单位。
    常用的矩阵变换
  • 矩阵matrix移动(translate)
    transform:matrix(1,0,0,1,x,y)等同于transform:translate(x,y)。
  • 矩阵matrix缩放(scale):
    transform:matrix(sx,0,0,sy,0,0)等同于transform:scale(sx,sy)。
  • 矩阵matrix旋转(rotate):
    transform:matrix(cosθ,sinθ,-sinθ,cosθ,0,0)等同于transform:rotate(0deg)。
  • 矩阵matrix拉伸(skew)
    transform:matrix(1,tanθy,tanθx,1,0,0)等同于transform:skew(0xdeg,0ydeg)。

用矩阵matrix实现镜像对称效果

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

K是对称轴的斜率。

  • 矩阵matrix3d
    transform:matrix3d(sx,0,0,0,0,sy,0,0,0,0,sz,0,0,0,0,1);

CSS3扩展属性

transform-style属性

  • 概念
    指定嵌套元素是怎样在三维空间中呈现的。
  • 语法
    transform-style:flat(默认值,不进行3D显示)|preserve-3d(将嵌套元素进行3D显示);
    perspective属性
  • 概念
    指定观察者与【z=0】平面的距离,使具有三维位置变换的元素产生透视效果。
  • 语法
    perspective:number(数值越小,观察的距离越近) | none;

perspective-origin属性

  • 概念
    指定透视点的位置,可以让观察者从不同的角度观察元素。
  • 语法
    perspective-origin:x,y;默认值都为50%。

backface-visibility属性

  • 概念
    指定元素背面面向用户时是否可见。
  • 语法
    backface-visibility:visible(默认值)| hidden;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值