网站首页 > 教程分享 正文
点击右上方红色按钮关注“web秀”,让你真正秀起来
前言
说起CSS3动画,就必须说说 transform,translate,transition,animation这4个属性,transform主要定义元素的动作,比如旋转、倾斜、位移等,translate是transform里面的属性,用于2D/3D位移。后2个主要对动作进行描述,动画时间、速度曲线、次数等。
下面我用是一些简单的示例,让大家快速的入门上手:
快速开始第一个动画
<style> .div1{ width: 100px; background: red; /** 动画描述:宽度改变动画 用时 1s*/ transition: width 1s; } .div1:hover{ width: 200px; background: blue; } </style> <div class="div1">动画</div>
这里hover事件时改变宽度和背景颜色,用transition来描述动画,由于我们只对width进行了描述,所以背景色,鼠标指上去,会立马变色,并不会有渐变的过程。
这里为什么用transition而不用animation?那就要说说他们直接的区别了。
transition需要触发一个事件, 而animation在不需要触发任何事件的情况下也可以显式的随着时间变化来改变元素css的属性值,从而达到一种动画的效果。transition属性是一个简单的动画属性,非常简单非常容易用。可以说它是animation的简化版本,是给普通做简单网页特效用的。
现在明白了吧,因为我们用的hover事件,所以要用transition。
下面请看第二个例子
快速开始第二个动画
<style> .div1{ width: 100px; background: red; /** 动画描述:宽度颜色改变动画 用时 1s infinite(无限次)*/ animation: second 1s infinite; color: #fff; } @keyframes second{ /**开始(可以用百分比表示)*/ from { width: 100px; background: red; } /**结束(可以用百分比表示)*/ to { width: 200px; background: blue; } /** or */ /**开始*/ 0% { width: 100px; background: red; } /**中间可以加多个区间*/ /**结束*/ 100% { width: 200px; background: blue; } } </style> <div class="div1">动画</div>
这里动画从加载就开始执行,所以用了animation,改变宽度和背景色,用时1s,并且无限次循环执行。@keyframes规则是创建动画。 -webkit-(chrome/safari), -ms-(ie) 或 -moz-(firefox) 用于兼容不同浏览器。
快速开始第三个动画
<style> .div1{ width: 100px; background: red; animation: second 1s infinite; color: #fff; } @keyframes second{ 100% { transform: rotate(20deg); } } </style> <div class="div1">动画</div>
transform:rotate使其div元素2D旋转20°.当然你可以设置transform:rotateY, Y 轴的 3D 旋转。
你还可以设置transform: translate,进行2D,3D位移;
transform: scale,进行2D,3D缩放;
transform: skew,进行2D倾斜等等。
总结
好的动画效果,第一要素是:好的想法,有创意,才有好的成品;第二要素是:有好的实现解题思路,当有设计后,制作就需要想办法实现效果,剥茧抽丝,一步一步来;第三要素:不畏惧的心,勇敢尝试,多实践,多动手,灵感往往来与你写的过程中。
有了上面的小示例,相信小伙伴们也能自己写写简单的CSS3动画了,如果有疑问,可以评论留言,大家一起学习探讨。
猜你喜欢
- 2024-10-11 首次接触CSS3动画,感觉棒极了(css3的动画)
- 2024-10-11 css3 属性实现画动态搞笑动画(css设置动画属性)
- 2024-10-11 web前端基础教学技术讲解之css3动画学习
- 2024-10-11 「Web前端开发进阶篇」CSS3 动画(前端 入门 动画 canvas)
- 2024-10-11 CSS3 动画库——animation(css3动画制作)
- 2024-10-11 在图形界面上制作CSS3动画:cssanimate
- 2024-10-11 进阶设计师绝对要懂的CSS3动画(2D篇)
- 2024-10-11 从Loading动画示例学习CSS3动画基础
- 2024-10-11 炫酷的CSS3 loading加载动画,总有一款适合你
- 2024-10-11 如何使用CSS3来写一个求婚动画,来学习一下吧
你 发表评论:
欢迎- 最近发表
-
- 免费10年VPS-serv00服务器,注册与自动化保号
- Consul微服务注册中心使用指南
- 谷歌云代理商:注册谷歌云服务器需要准备哪些资料?
- steam账号注册不了/注册失败?好用的解决方法看这里
- 微服务架构中的服务注册与发现有哪些?Zookeeper、Eu
- # 从浅入深 学习 SpringCloud 微服务架构(三)注册中心 Eureka(1)
- 一文深入理解AP架构Nacos注册原理
- 群晖NAS本地搭建NVIDIA v-GPU License Server 授权许可服务器的教程
- IDEA 2024解决We could not validate your license XX
- 保障数据完整性:深入解析Oracle数据库的主键和外键约束
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)