过渡动画

@Transition

Introduction

Syntax

Usage

案例 Cases

[] 鼠标悬停类 :hover - 改变背景颜色、背景图片、背景大小等等
[] 聚焦类 :focus - 多见于表单;获取焦点时,通过定位 position 或变换 transform 移动元素
[] 选中类 :checked - 多见于表单的单选按钮或多选按钮的设计
[] 事件类 - 单击时,为元素添加动态类,进而改变样式
[] 个人信息卡 - 慢进1s快退0.5s
.info-card img {
  position: relative;
  z-index: 1;
  transform-origin: left top;
  transition: .5s;
}

.info-card:hover img {
  transform: scale(0.8);
  transition: 1s;
}
[] 图片大小变化
. 标题位置变化:开始定位在元素外部,hover时定位在元素底部
祝融号火星车
.mars .img {
    transform-origin: top;
    transition: .4s;
}

.mars:hover .img {
    transform: scale(.5);
}

.mars .info {
    position: absolute;
    left: 0px;
    bottom: -60px;
    //......
    transition: .4s;
}

.mars:hover .info {
    bottom: 0px;
}
[] 旋转过渡:把元素的旋转点调整到左上角
hover查看
.rot div {
    position: absolute;
    left: -230px;
    top: -230px;
    width: 80%;
    height: 80%;
    border: 10px solid #b22222;
    transform-origin: left top;
    transition: 1s;
}

.rot:hover div {
    left: 10%;
    top: 10%;
    transform: rotate(360deg);
}
[] 伪元素旋转位移
hover查看
.tran div::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -180px;
    width: 320px;
    height: 180px;
    background-color: #fff;
    transform-origin: left top;
    transition: 1s;
}

.tran div:hover::after {
    transform: rotate(-20deg);
}
[] 伪元素缩放
hover查看

步进 Steps

说明

steps(5,end)
steps(5,start)
[] 技能条/进度条 - 从0到100%

事件 Events

. 侦听过渡动画的执行过程
事件 Events
item desc
transitionstart 动画开始
transitionrun 动画运行
transitionend 动画结束
transitioncancel 动画取消
el.addEventListener("transitionstart", (event) => {});
el.addEventListener("transitionrun", (event) => {});
el.addEventListener("transitionend", (event) => {});
el.addEventListener("transitioncancel", (event) => {});
[] 动画结束后,切换页面;更多案例,请访问 表单
返回主页
const wrap = document.querySelector('.demo-wrap');
const btn = document.querySelector('.btn');
btn.addEventListener('click', () => {
  wrap.classList.toggle('active');
})
wrap.addEventListener('transitionend', () => {
  if (wrap.classList.contains('active')) {
  }
  window.location.href = './index.html';
})

总结和作业 Summary & Homework

Summary

. 过渡动画的基本使用

Homework