Web前端之路让前端飞CSS3

04、CSS3-过渡和2D变换

2017-06-08  本文已影响91人  EndEvent

一、transition过渡

  - ease: 逐渐变慢(默认值)
  - linear: 匀速
  - ease-in: 加速
  - ease-out: 减速
  - ease-in-out: 先加速后减速
  - cubic-bezier: 贝塞尔曲线(x1, y1, x2, y2 )
   【http://matthewlein.com/ceaser/】

  transition: all 2s;  // 所有属性,过渡时间2s
  transition: width 2s, height 3s;
http://matthewlein.com/ceaser/

二、过渡事件

  // 添加事件
  obj.addEventListener('webkitTransitionEnd',function(){},false);
  // 删除事件
  obj.removeEventListener('webkitTransitionEnd', fn,false);
  // 添加事件
  obj.addEventListener('transitionend',function(){},false);
  // 删除事件
  obj.removeEventListener('transitionend', fn,false);

// 添加事件
function addEvent(obj, fn){
obj.addEventListener('webkitTransitionEnd', fn,false);
obj.addEventListener('transitionend', fn,false);
}
// 删除事件
function removeEvent(obj, fn){
obj.removeEventListener('webkitTransitionEnd', fn,false);
obj.removeEventListener('transitionend', fn,false);
}

三、transform形变(2d)

  - deg 度数
  - transform-origin 旋转的基点

  // 以矩形右上角为基点旋转
  transform-origin: right top;
  // 以矩形左上角为基点旋转
  transform-origin: 0 0;
  // 旋转30度
  transform: rotate(30deg);
  - skewX()
  - skewY()
  
  // x轴和y轴方向,斜切30度
  transform: skewX(30deg) skewY(30deg);
skewX
skewY
  - scaleX()
  - scaleY()

  // 矩形缩小为0.9
  transform: scale(0.9);
  - translateX()
  - translateY()

  // 往右平移30px
  transform: translateX(30px)

案例: 钟表
案例: 扇形菜单

上一篇 下一篇

猜你喜欢

热点阅读