一、过渡效果

可以在不适用Flash和js 的情况下实现过渡效果
属性 描述
transition 简写属性,用于在一个属性中设置四个过渡属性
transition-property 规定应用过渡的css属性的名称
transition-duration 定义过渡效果话费的时间 默认是0 单位是秒 s
transition-timing-function 规定过渡效果的时间曲线, 默认是ease
linear 均速
ease 逐渐慢下来
ease-in 加速
ease-out 减速
ease-in-out 先加速后减速
transition-delay 规定过渡效果合适开始 默认是0s 也就是立马开始
transition: 要过渡的属性 花费时间 运动曲线 何时开始;

设置方式:

div {
width: 200px;
height: 100px;
background-color: pink;
transition: width 0.5s ease-in 0s;
}
div:hover {
width: 400px;
}
相当于在div 的样式里面申明要过渡的条件,当鼠标经过div的时候盒子就会变成400px宽

小知识点:

如果有多个属性可以用逗号隔开
所有属性读变化用all: transition: all 0.5s; 定位盒子居中对齐完美写法 transform: translate(50%); transform走自身的一半

二、设置变形中心点

img {
margin: 100px;
transition: all 0.5s;
}
img:hover {
transform: rotate(180deg);
} tranform-origin 设置元素转换变形的原点 默认是center center
(可以通过left right top bottom center 来调整旋转中点,也看可以用像素) img {
margin:300px;
transition: all 0.5s;
transform-origin: top left;
}
img:hover {
transform: rotate(720deg);
} xyz 一起设置
transform: translate3d(x,y,z)x和y可以是百分比,z只能是像素

三、透视透视 perspective

可以将2D平面转换为伪3D效果
透视原理:近大远小
浏览器透视: 把近大远小的所有图像透视在屏幕上
perspective 视距,表示视距到屏幕的长短
perspective给父元素添加的 backface--visibility 定义当元素不同向屏幕时是否可见

四、CSS动画animation

动画是css3中具有颠覆性的特征之一,可以通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果

语法格式: 动画名称 动画时间 运动曲线 何时开始 播放次数 是否反方向

定义格式:
@keyframes go {
from {
transform: translateX(0);
}
to {
transform: translateX(600px);
}
}
应用格式:
div {
width: 100px;
height: 100px;
background-color: pink;
/*引用动画*/
animation: go 2s ease 0s 2; /*自定义动画名称*/
} 属性 描述
animation 所有动画属性的简写属性,除了 animation-play-state
animation-name 动画名称
animation-duration 动画完成一个周期需要的时间
animation-timing-funcation 速度曲线
animation-delay 规定动画何时开始
animation-iteration-count 规定动画被播放的次数
infinite 无限循环
animation-direction 是否在下一个周期逆向播放
reverse 反方向
altermate 先正常运行 再反方向运行 持续交替运行
alternate-reverse 先反方向运行 在正方向 持续交替
animation-play-state 是否正在运行或暂停 默认是running
paused 鼠标经过暂停
animation-play-state: paused;
animation-fill-mode 对象动画时间之外的状态 一般情况下用前两个 如果要定义多个动画用百分比来设置
@keyframes go {
0% { /*起始位置*/
transform: translate3d(0,0,0);
}
25% {
transform: translate3d(800px,0,0);
}
50% {
transform: translate3d(800px,400px,0);
}
75% {
transform: translate3d(0,400px,0);
}
100% {
transform: translate3d(0,0,0);
}

最新文章

  1. Codis——分布式Redis服务的解决方案
  2. [C#] 将 List 转 DataTable
  3. [转载]我们可以用SharePoint做什么
  4. 【BZOJ】【1086】 【SCOI2005】王室联邦
  5. 关于cmd模式下切换目录
  6. [.NET MVC进阶系列03] Views 视图基础
  7. google perftools分析程序性能
  8. 无线通信技术协议-Zigbee 3.0
  9. 前端CSS规范大全
  10. 【SICP感应】1 工艺和替代模式
  11. Android开发之自定义视图
  12. 微信公众号jssdk自定义分享,二次分享自定义失败解决技巧
  13. MEF 基础简介 一
  14. VSCode的Python扩展下程序运行的几种方式与环境变量管理
  15. 一个致命的 Redis 命令,导致公司损失 400 万!!
  16. DWZ富客户端框架(jQuery RIA framework)
  17. iOS原生和React-Native之间的交互1
  18. SharpGL学习笔记(一) 平台构建与Opengl的hello World
  19. iptables常用配置
  20. Openfire源码使用Install4j打包

热门文章

  1. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_17-课程预览功能开发-前后端测试
  2. PAT 甲级 1042 Shuffling Machine (20 分)(简单题)
  3. (五)UML之协作图
  4. 【Leetcode_easy】633. Sum of Square Numbers
  5. maven仓库里如何搜索三方包?查看流行软件
  6. DDS工作原理及其性能分析
  7. Memcached集群实现及原理介绍
  8. python变量 - python基础入门(6)
  9. 【AtCoder】diverta 2019 Programming Contest 2
  10. linux下jar命令(运行jar包)