[记录] 探索CSS3动画、过渡

简介: [记录] 探索CSS3动画、过渡

title: 详解CSS3动画、过渡属性的作用
date: 2017年9月21日 00:03:26
tags: css
categories: 教程

author: "JiaWei"

让我们一起来探索 Transiton(过渡), Transform(变化) , Animation(动画)属性吧!


Transiton(过渡)

transition 属性简写:
transition: property(过渡的css属性) duration(持续时间) timing-function(过渡类型) delay(延迟过渡时间);

默认值:
transition:all 0 ease 0

详细属性值:
*transition-property : //设置过渡效果的 CSS 属性的名称
transition-duration: //指定这个过渡的持续时间
transition-delay: //延迟过渡时间
transition-timing-function: 指定过渡类型,linear //线性过度,ease-in //由慢到快,ease-out //由快到慢,ease-in-out //由慢到快在到慢,cubic-bezier//贝塞尔曲线*

DEMO:
鼠标移动到div上出发hover事件出发背景的过渡动画

transition-demo1.png

Transform(变化)

transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

默认值
transform: skew(35deg) scale(1, 0.5) rotate(45deg) translate(10px, 20px);
skew(倾斜) scale(缩放) rotate(旋转) translate(偏移)
元素变化过渡的起始位置
语法:transform-origin: x-axis y-axis z-axis;
值: transform-origin:top left || 0% 0%//设置为左上点
参考:transform-orgin属性

详细属性:
*translate(x,y) 位置偏移
translateX(x) 沿X轴偏移
translateY(y) 沿Y轴偏移*

*scale(x,y) 缩放
scaleX(x) 沿 X 轴的值来进行缩放
scaleY(y) 沿 Y 轴的值来进行缩放*

rotate(angle) 定义 2D 旋转,在参数中规定角度

*skew(x-angle,y-angle) 倾斜
skewX(angle) 定义沿着 X 轴倾斜
skewY(angle) 定义沿着 Y 轴倾斜*

*matrix(n,n,n,n,n,n) 定义 2D ,使用六个值的矩阵
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D ,使用 16 个值的 4x4 矩阵*

*translate3d(x,y,z) 定义 3D
translateZ(z) 定义 3D ,只是用 Z 轴的值*

*scale3d(x,y,z) 定义 3D 缩放
scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放*

*rotate3d(x,y,z,angle) 定义 3D 旋转
rotateX(angle) 定义沿着 X 轴的 3D 旋转
rotateY(angle) 定义沿着 Y 轴的 3D 旋转
rotateZ(angle) 定义沿着 Z 轴的 3D 旋转*

**DEMO:
鼠标移入触发变化并形成过渡效果

transform-demo.png
**

Animation(动画)

简写:
animation: name(关键帧名) duration(动画时长) timing-function(动画类型) delay(延迟时间) iteration-count(动画播放次数)

详细属性
animation-name //指定要绑定到选择器的关键帧的名称
animation-duration //动画指定需要多少秒或毫秒完成
animation-timing-function:linear ease ease-in ease-out

                      ease-in-out    cubic-bezier(n,n,n,n)//设置动画将如何完成一个周期

animation-delay //设置动画在启动前的延迟间隔
animation-iteration-count : Number||infinite(循环) //定义动画的播放次数
animation-direction //指定是否应该轮流反向播放动画
animation-fill-mode //规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式
animation-play-state //指定动画是否正在运行或已暂停
initial //设置属性为其默认值
inherit //从父元素继承属性

@keyframes 关键帧

写法:
inCSS:
...
@keyframes name(关键帧名){

0% {
    padding: 0;
}
50% {
    padding: 20px;    
}
100% {
    padding: 100px;
}


或者
@keyframes name(关键帧名){

form {
    padding: 0;
}
to {
    padding: 100px;
}

兼容性写法
@keyframes mymove{}
@-moz-keyframes mymove / Firefox /{}
@-webkit-keyframes mymove / Safari 和 Chrome /{}
@-o-keyframes mymove / Opera /{}

DEMO:
快乐的制作自己的呼吸灯效果

animation-demo.png
目录
相关文章
|
2月前
|
机器学习/深度学习 前端开发 JavaScript
|
2月前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
107 58
|
14天前
jQuery+CSS3模拟过山车动态的文字动画特效源码
jQuery+CSS3模拟过山车动态的文字动画特效源码实现在全黑的背景下,画面中的文本呈现过山车的轨迹动画上下滚动转圈,且伴随文本颜色渐变效果,非常有意思,欢迎对此特效感兴趣的朋友前来下载参考。
22 1
|
17天前
|
Web App开发 前端开发 JavaScript
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
37 1
|
2月前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
34 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
3月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
50 0
JS配合CSS3实现动画和拖动小星星小Demo
|
2月前
|
前端开发
CSS 动画介绍及语法
CSS 动画介绍及语法
29 0
|
4月前
|
前端开发 UED 开发者
有趣的CSS - 文字加载动画效果
这个文本加载动画简单而有趣,可以在网站标题、广告标语或者关键信息的展示上吸引用户的注意力。开发者可以根据需要调整动画的持续时间、步骤数,或者光标颜色等,来适应特定的设计需求。使用这种动态元素,增强网站的互动性和用户体验,同时也为网站增添了一抹活泼的风格。
97 5
|
4月前
|
前端开发 JavaScript
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!
|
4月前
|
前端开发 JavaScript 开发者
css过渡与动画
css过渡与动画
42 0