详解Css3新特性应用之过渡与动画 - 网站

详解Css3新特性应用之过渡与动画

分类:CSS_CSS3 答疑 - 常见问题 · 发布时间:2022-06-10 23:52 · 阅读:2928

本篇文章主要介绍了Css3新特性应用之过渡与动画,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一、缓动效果

学习和利用贝塞尔曲线,默认支持ease,ease-in,ease-out,ease-in-out和linear等

还提供一个cubic-beizer自定义贝塞尔曲线的起点和终点

Css中只支持一条贝塞尔曲的运动,不能连续多段

对cubic-beizer中控制锚点的水平坐标与垂直坐标互换,就可以得到任何调整函数的反向版本 cubic-beizer(.1,.25,1,.25)是ease的反向调整函数 水平坐标只能在0~1的范围内,因为水平坐标表示的是时间垂直坐标可以超过此范围,表示为运动距离

示例代码

 Document 

利用过渡(transition)实现

但需要注意transition-property默认值为all,所有可以过渡的属性都会被过滤

示例代码:

 Document 

二、逐帧动画

animation-timing-function中的steps函数,主要用他实现帧动画,他是一个阶跃函数,共两个参数 参数一:一个数字,代表时间函数中的间隔数量(必须为正数) timing-function是作用于每两个关键帧之间,而不是整个动画过程

参数二:接受start和end两个值,指定在每个间隔的起点或是终点发生阶跃变化,默认end,step-start和step-end分别是steps(1,start)和steps(1,end)的简写

示例代码:

 Document 

三、闪烁效果

实现两种闪烁效果,一是平滑闪烁,另一种是帧闪烁(更接近于现实)

平滑闪烁

主要是利用animation-iteration-count和animation-direction两个属性实现。 

1.animation-iteration-count:表示动画的执行次数 

2.animation-direction:表示动画是否应该轮流反向播放动画,如果值为alternate时,animation-iteration-count必须是一个偶数,因为是奇数正常播放,偶数反向播放

代码如下:

我是平滑的显示和隐藏三次

帧闪烁

利用animation-timing-function属性的steps实现,因steps指定两个关键帧之间分成几个片段执行动画

1.animation-timing-function: steps(1),然后配合上动画在50%实现一个透明即可

代码如下:

我是逐帧的显示和隐藏三次

四、打字效果(只支持单行英文)

需要利用用下特性:

1.等宽字体,然后加上ch这个单位,ch是表示'0'这个字符的宽度.

2.使用动画让元素宽度从0变到最大宽度。

3.利用steps(1)让每个关键帧的地方产生动画 代码如下:

 Document 
Css is awesome

五、状态平滑的动画

利用animation-play-state属性实现动画的暂停和播放功能,以及改变背景的定位。示例代码如下:

 Document 

六、沿环型路径平移的动画

这点很重要,transform中的变形函数(如:rotate,transflate等)都是会影响元素整个坐标系统。也就是说rotate旋转的时候是旋转的整个坐标系统。这是实现用一个元素沿环弄路径平移的基础。原理图如下:

两个元素方案,transform-origin + rotate可以实现,但html结构需要两个元素,如下代码:

 Document 

说明:

1..spin的transform-origin: 50% 150px;是进行变换原点的定位;

2.由于需要实现spin环形运动,transform本质特性是元素+元素内部子元素都要随着变换,因此需要对img元素进行反向变形

3.实现两种反向变形的方式:A:写一个反向变形动画;B:继承父级的动画,用animation-direction指定位reverse进行反向。

单个元素方案,利用translate和rotate(多次利用),html结构只有一层,代码如下:

 Document 

说明:

1.一个img然后即要沿环型路径运动,本身又不能随着旋转,那么就需要两组位移和旋转

2.第一组位移 + 旋转,实现img元素沿环形路径运动

translate(50%, 150px)

rotate(0turn)

translate(-50%, -150px)

3.第二组位移 + 旋转,实现img元素本身定位不动

translate(50%, 50%)

rotate(1turn)

translate(-50%, -50%)

两个元素方案主单个元素方案效果图如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持0133技术站。

标签:
过渡动画 CSS3

相关文章

css3媒体查询中device-width和width的区别详解

这篇文章主要介绍了css3媒体查询中device-width和width的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

CSS3媒体查询实现不同宽度的下不同内容的展示功能

这篇文章主要介绍了CSS3媒体查询实现不同宽度的下不同内容的展示功能,本章节我们将为大家演示一些多媒体查询实例,需要的朋友可以参考下

CSS3几种实现子容器水平垂直居中的方法

本文有几种方法可以实现容器与子容器水平垂直居中,主要包括Flexbox布局,position绝对定位+transform,表格布局,具有一定的参考价值,感兴趣的可以了解一下

css3实现文字首尾衔接跑马灯的示例代码

这篇文章主要介绍了css3实现文字首尾衔接跑马灯的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

CSS的浮动及清除浮动的5种方法介绍

这篇文章主要为大家介绍了CSS的浮动及清除浮动的5种方法介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

返回分类 返回首页