CSS样式更改——过渡、动画

简介: CSS样式更改——过渡、动画

前言


上篇文章主要讲述了CSS样式更改中的2D转换,这篇文章我们来介绍下CSS样式更改中的过渡、动画基础用法。


1.过渡

元素从一种样式逐渐改变为另一种的样式

div{transition: width 1s;-moz-transition: width 1s;  /* Firefox 4 */-webkit-transition: width 1s;  /* Safari 和 Chrome */-o-transition: width 1s;  /* Opera */}transition-property:应用过渡的Css属性的名称 比如宽度widthtransition-duration:过渡效果花费的时间   比如1stransition-timing-function:渡效果的时间曲线 如下所示:linear 匀速ease 先慢后快ease-in 慢速开始ease-out 慢速结束ease-in-out 慢速开始和结束cubic-bezier(n,n,n,n) 在cubic-bezie 函数中定义自己的值,可能的值是0至1之间的数值transition-delay:过渡效果何时开始 如1s


2.动画 Animation

1).首先定义@keyframes 规则
@keyframes my{from {background: red;}to {background: yellow;}}
@-moz-keyframes my /* Firefox */{from {background: red;}to {background: yellow;}}
@-webkit-keyframes my /* Safari 和 Chrome */{from {background: red;}to {background: yellow;}}
@-o-keyframes my /* Opera */{from {background: red;}to {background: yellow;}}

为了丰富元素的变化过程,你可以把from  to改为百分比的样子:

@keyframes my{0%   {background: red;}25%  {background: yellow;}50%  {background: blue;}100% {background: green;}}
@-moz-keyframes my /* Firefox */{0%   {background: red;}25%  {background: yellow;}50%  {background: blue;}100% {background: green;}}
@-webkit-keyframes my /* Safari 和 Chrome */{0%   {background: red;}25%  {background: yellow;}50%  {background: blue;}100% {background: green;}}
@-o-keyframes my /* Opera */{0%   {background: red;}25%  {background: yellow;}50%  {background: blue;}100% {background: green;}}

定义好了,接下来我们就可以启动我们的动画了。

2).animation启动动画效果
div{animation-name: my;animation-duration: 5s;animation-timing-function: linear;animation-delay: 2s;animation-iteration-count: infinite;animation-direction: alternate;animation-play-state: running;/* Firefox: */-moz-animation-name: my;-moz-animation-duration: 5s;-moz-animation-timing-function: linear;-moz-animation-delay: 2s;-moz-animation-iteration-count: infinite;-moz-animation-direction: alternate;-moz-animation-play-state: running;/* Safari 和 Chrome: */-webkit-animation-name: my;-webkit-animation-duration: 5s;-webkit-animation-timing-function: linear;-webkit-animation-delay: 2s;-webkit-animation-iteration-count: infinite;-webkit-animation-direction: alternate;-webkit-animation-play-state: running;/* Opera: */-o-animation-name: my;-o-animation-duration: 5s;-o-animation-timing-function: linear;-o-animation-delay: 2s;-o-animation-iteration-count: infinite;-o-animation-direction: alternate;-o-animation-play-state: running;}
animation-name                   选择器的 keyframes 的名称animation-duration               动画所花费的时间animation-timing-function        匀速播放动画animation-delay           动画过多久开始animation-iteration-count        播放动画次数animation-direction       是否在下一周期逆向地播放 normal 正常播放  alternate 轮流反向播放animation-play-state             暂停动画  paused 动画已暂停  running 动画正在播放animation-fill-modenone         不填充forwards     当动画完成后,保持最后一个属性值backwards     在animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值both        向前和向后填充模式都被应用。

参考文档:W3C官方文档(CSS篇)


总结


这篇文章主要介绍了CSS样式更改篇中的过度和动漫基础知识,希望让大家对CSS样式更改有个简单的认识和了解。

相关文章
|
2月前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
2月前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
109 58
|
20天前
jQuery+CSS3模拟过山车动态的文字动画特效源码
jQuery+CSS3模拟过山车动态的文字动画特效源码实现在全黑的背景下,画面中的文本呈现过山车的轨迹动画上下滚动转圈,且伴随文本颜色渐变效果,非常有意思,欢迎对此特效感兴趣的朋友前来下载参考。
22 1
|
24天前
|
Web App开发 前端开发 JavaScript
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
42 1
|
1月前
|
前端开发 JavaScript UED
|
1月前
|
前端开发
HTML 样式- CSS3
内部样式表适用于单个文件的特别样式,通过<head>部分的<style>标签定义;外部样式表适用于多个页面,通过<link>标签引用外部CSS文件;<style>定义样式,<link>引用资源;已弃用的标签有<font>、<center>、<strike>,属性有color和bgcolor。
HTML 样式- CSS2
HTML样式实例展示了如何使用`font-family`、`color`和`font-size`属性来定义字体样式,以及使用`text-align`属性来设置文本的对齐方式。示例包括标题和段落的样式设置。
|
1月前
|
前端开发
HTML 样式- CSS1
CSS (层叠样式表) 用于为 HTML 元素添加样式,包括颜色、文本、盒子模型等。CSS 可以通过内联样式、内部样式表或外部引用的方式添加到 HTML 中。推荐使用外部引用方式。本教程将介绍如何使用 CSS 为 HTML 添加样式,并提供实例演示。