您现在的位置是:网站首页> 编程资料编程资料
CSS3中的Transition过度与Animation动画属性使用要点CSS3中Transform动画属性用法详解 CSS3中Transition动画属性用法详解 CSS3中Animation动画属性用法详解 深入理解css属性的选择对动画性能的影响jQuery利用CSS3的keyframes属性实现飞翔的小鸟动画特效CSS3 steps属性制作僵尸行Sprite动画特效源码css动画属性使用及实例代码(transition/transform/animation)
2021-09-05
1383人已围观
简介 这篇文章主要介绍了CSS3中的Transition过度与Animation动画属性使用要点Transition和Animation能被用来制作基本的页面图片动态效果,当然进一步的控制还是需要JavaScript的帮助,需要的朋友可以参考下
Transition(过度)
Transition允许CSS的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值,它的语法如下:
- transition: property duration timing-function delay;
- /*
- property:执行过渡的属性
- duration:执行过渡的持续时间
- timing-function:执行过渡的速率模式
- delay:延时多久执行
- */
transition-property
可取值:
none
没有属性会获得过渡效果。
all
所有属性都将获得过渡效果。
property
定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。
- div{
- transition-property:width;
- -moz-transition-property: width;/* Firefox 4 */
- -webkit-transition-property:width; /* Safari 和 Chrome */
- -o-transition-property:width;
- /* Opera */}
transition-duration
参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,回想一下如果只有transform属性,是不是变换啪地一下完成了。
- div{
- transition-duration: 5s;
- -moz-transition-duration: 5s; /* Firefox 4 */
- -webkit-transition-duration: 5s; /* Safari 和 Chrome */
- -o-transition-duration: 5s; /* Opera */}
transition-timing-function
既然是动画,那么就有动画的运行速率,不同的速度会产生不同的结果,以下是可取值。
ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
transition-delay
参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,也就是立即执行,如果在多个动画直接有先后顺序,那么它就会派上用场。
Animation(动画)
关键帧 Keyframe
实现自定义动画,通过对关键帧的设定来实现,也就是规定从起始点(0%)到终点(100%)之间的具体节点上的动画样式。就好比一个人起床,睁开眼睛(0%),站起来(10%),穿上衣(40%),穿裤子(80%),整理面容(100%),这样子把每个节点串起来便是动画了。
再说动画
动画,关键在于动字,那么对于页面上的元素来说,能发生变化的便是它的样式属性,比如用animation规定自定义动画,内容为font-size从18px,变为28px,这个便是动,加上其自身的属性(它可以规定动画持续时间,运动形式等等),便可以呈现动态的效果,而不是一瞬间的变化。
通常,transition要想实现动画通常需要由hover伪类来触发,否则在页面加载的时候它已经运动完毕,保持运动的末态,这并不是我们想要的。animation不一样,它拥有更多的表现形式,使其看起来像与生俱来,天生就会动一样。
语法
- .area{
- width: 50px;
- height: 50px;
- margin-left: 100px;
- background: blue;
- -webkit-animation-name:'demo';/*动画属性名,也就是我们前面keyframes定义的动画名*/
- -webkit-animation-duration: 10s;/*动画持续时间*/
- -webkit-animation-timing-function: ease-in-out; /*动画频率,和transition-timing-function是一样的*/
- -webkit-animation-delay: 2s;/*动画延迟时间*/
- -webkit-animation-iteration-count: infinite;/*定义循环资料,infinite为无限次*/
- -webkit-animation-direction: alternate;/*定义动画方式*/
- }
实例和简写
需要注意的是最后一个属性,direction,我们可以这么想,A从甲地到了乙地这是一个动画,设置为normal时,第二次播放时便又是从头开始,显得很突兀,这个时候需要用alternate,使其看起来A在甲乙两地之间来回运动,代码如下:
- /*
- 甲地和乙地这两个球都是absolutely定位方式,小球也是,只要控制left值即可
- */
- .circle{
- //我给这个小球球增加了一个名为demo1的动画
- //你看,它就自己动起来了,回想一下,使用transform的时候,是不是还得用hover去触发
- -webkit-animation: 'demo1' 2s linear infinite alternate;
- -o-animation: 'demo1' 2s linear infinite alternate;
- animation: 'demo1' 2s linear infinite alternate;
- }
- //定义动画部分
- //我只写了-webkit,真实中加上@-0-,@-moz-,@keyframes
- @-webkit-keyframes demo1 {
- from {
- left:200px;
- background-color: lightcoral;
- }
- 50%{
- left:290px;
- background-color: lightblue ;
- }
- to {
- left:380px;
- background-color: lightseagreen;
- }
- }
alternate方式,放完就倒着放一遍
normal方式,就是放完重头再放
相关内容
- CSS中:before和:after伪元素使用的奇技淫巧
- 使用CSS绘制基础的对话框图案的代码示例CSS3中设置3D变形的transform-style属性详解css 元素选择器的简单实例css border属性的使用方法和技巧css sprite简单实例CSS3中的Transition过度与Animation动画属性使用要点CSS中:before和:after伪元素使用的奇技淫巧CSS凹型导航按钮效果的实现代码CSS3 magic带64种动画库特效源码CSS文本超出指定宽度后隐藏并显示为省略号的实现方法
- CSS凹型导航按钮效果的实现代码CSS3中设置3D变形的transform-style属性详解css 元素选择器的简单实例css border属性的使用方法和技巧css sprite简单实例CSS3中的Transition过度与Animation动画属性使用要点CSS中:before和:after伪元素使用的奇技淫巧使用CSS绘制基础的对话框图案的代码示例CSS3 magic带64种动画库特效源码CSS文本超出指定宽度后隐藏并显示为省略号的实现方法
- 深入解析IE浏览器专有的CSS属性hasLayoutCSS3 magic带64种动画库特效源码div+css实现不同方向鼠标悬停弹出提示层特效源码jQuery和CSS3超酷3D堆叠式幻灯片特效源码详解使用CSS固定页面背景图片位置的方法CSS3制作炫酷的下拉菜单及弹起式选单的实例分享CSS3中各种颜色属性的使用教程使用CSS3美化HTML表单的技巧演示利用CSS3的border-radius绘制太极及爱心图案示例js+css3实现的折角邮票图片墙特效源码CSS凹型导航按钮效果的实现代码
- CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
- CSS3中各种颜色属性的使用教程CSS实现大小相同、颜色深浅不一的粒子旋转加载动画CSS3中currentColor关键字的妙用使用CSS3的::selection改变选中文本颜色的方法css实现兼容火狐、IE的LI奇偶行颜色交替方法CSS中对RGB颜色的使用详解CSS3中颜色线性渐变实战使用CSS3的背景渐变Text Gradient 创建文字颜色渐变可自定义进度条颜色的CSS3动画进度条源码采用CSS3实现的表面颜色可渐变3D立方体动画特效源码纯CSS3实现简易3D按钮可配置背景颜色
- 移动端Web页面的CSS3 flex布局快速上手指南10分钟理解CSS3 FlexBox弹性布局CSS3 Flex 弹性布局实例代码详解详解CSS3伸缩布局盒模型Flex布局浅谈CSS3中display属性的Flex布局的方法实例讲解CSS3中的box-flex弹性盒属性布局深入浅析CSS3中的Flex布局整理
- CSS3条纹背景制作的实战攻略
- 详解CSS制作Web页面条纹背景样式的技巧提高CSS代码效率的编写技巧使用CSS的pointer-events属性实现鼠标穿透效果的神奇技巧20个非常实用的CSS技巧CSS 设置技巧(单位和值与样式设置技巧)CSS 高级技巧总结(必看)必须掌握10个非常不错的CSS技巧CSS制作边框效果的技巧总结css布局小技巧分享(必看)20 个 CSS 高级技巧汇总(推荐)
- CSS3实现多重边框的方法总结CSS3 box-shadow属性实例详解CSS3阴影效果样式库box-shadows.css 53种css3 box-shadow阴影(外阴影与外发光)图示讲解详解CSS3阴影 box-shadow的使用和技巧总结 详解CSS3的box-shadow属性制作边框阴影效果的方法CSS3里box-shadow属性的使用方法示例详解