CSS3 变形与动画相关属性

css3为变形提供了如下两个属性指

transform: 用于设置形变。

位移变换: 沿着Z轴的位移看不到效果,是因为Z轴垂直于屏幕,只有开启3d 效果才可以.

  • translate(tx,ty): 设置HTML元素沿X轴移动tx距离,沿Y轴移动ty距离。其中ty 参数可以省略,省略的话,默认为0,表示沿Y轴没有移动。
  • translate3d(tx,ty,tz): tz表示沿Z轴移动tz距离。
  • translateX(tx): 沿X轴移动tx距离。
  • translateY(ty):同上。
  • translateZ(tz): 同上。

缩放变换: scaleZ沿Z轴缩放,由于目前元素基本都是平面的,所以看不到效果

  • scale(sx,sy): 设置html元素沿X轴缩放比为sx,沿Y轴方向缩放比为sy,sy参数可以省略,若省略该参数,sy默认等于sx,也就是保持纵横比缩放。
  • scale3d(sy,sx,sz): sz表示Z轴方向缩放比为sz。
  • scaleY(sy): 该函数相当于执行scale(1,sy);
  • scaleX(sx): 同上。
  • scaleZ(sz):同上。

旋转变换: rotate函数与rotate Z两个函数其实是一样的.

  • rotate(angle): 设置html元素绕Z轴顺势针转过angle角度。
  • rotate3d(s,y,z,angle): 设置html元素绕指定轴顺时针旋转angle角度。
  • rotateX(angle): 设置html元素绕X轴顺时针旋转angle角度。
  • rotateY(angle):同上。
  • rotateZ(angle): 同上。

倾斜变换: 倾斜时二维变换,所以没有skewZ.

  • skew(sx,sy): 设置html元素沿X轴倾斜sx角度,沿Y轴倾斜sy角度,其中sy参数可以省略,省略默认为0。
  • skewX(xAngle): 设置html元素沿着X轴倾斜xAngle角度。
  • skewY(yAngle): 同上。

transform-origin: 设置形变的中心点,该属性指可以指定为xCenter yCenter或者xCenter yCenter zCenter,其中zCenter只支持长度值,xCenter yCenter支持如下几种属性值:

  • left:旋转中心位于元素的左边界,只能给xCenter。
  • top:旋转中心位于元素的上边界,只能给yCenter。
  • right:旋转中心位于元素的右边界,只能给xCenter。
  • bottom:旋转中心位于元素的下边界,只能给yCenter。
  • center:旋转中心位于元素的中间,如果将xCenter,yCenter都指定为center,旋转中心位于元素的中心。
  • 长度值:指定旋转中心点距离左边界,右边界的长度。
  • 百分比:指定旋转中心位于X轴,Y轴上的百分比位置。

特别注意: 1.如果为元素指定多种形变的函数,变形处理的顺序很重要,即使时3种同样地变换,如果变换的顺序不同,得到的效果也不同.
2.对于同一种变换如果中心点发生了改变,实际得到的效果也是截然不同的.

css新增的3D变换

perspective属性: 近大远小
由于Z轴是垂直屏幕向外的,因此当元素沿着Z轴位移时,如果不考虑3d视觉效果,是看不到任何效果的. 如果想要看到3d的透视效果,就必须要要设置 perspective属性,该属性值是有效的长度值.

transform-style属性: 设置给父元素.
transform-style: 指定是否在3d空间内正确的呈现元素的“遮挡”等嵌套关系.

  • flat: 不保留子元素的3d位置.
  • preserve: 子元素将保留3d位置

backface-visibility属性: 设置元素转到背面时是否可见.

  • visible: 背面时可见的.
  • hidden: 背面是不可见的.

css提供的Transition动画

Transition动画 可以控制html元素的某个属性发生改变时经历一些时间,以平滑间变的方式发生改变,这就是动画效果.
transition属性 包括以下属性值:

  • transition-property: 指定对元素的那个c s s属性进行平滑的渐变处理,可以是background-color,width,height等各种标准的c s s属性.

  • transition-duration: 指定属性平滑渐变的持续时间.

  • transition-timing-function: 指定渐变的速度:

     	> ease: 动画开始时较慢,然后速度加快,到达最大速度后再减慢速度.
     	> linear:线性速度.
     	> ease-in: 动画开始时速度慢,然后速度加快.
     	> ease-out: 动画开始时速度很快,然后速度减慢.
     	> ease-in-out:动画开始时较慢,然后速度加快,到达最大速度后再减慢速度.
    
  • transition-delay: 指定延迟时间.

css提供的animation动画

css3提供了强大的TWEEN动画支持:animation动画,这种动画允许开发者定义多个关键帧.
animation动画提供了如下几个属性:

  • animation-name:指定动画名称.
  • animation-duration: 指定动画的持续时间.
  • animation-timing-function: 指定动画的变化速度.
  • animation-delay: 指定动画延迟多长时间才开始.
  • animation-iteration-count: 指定动画循环的次数.
  • animation:这是一个符合属性
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值