css3动画效果总结
- 格式:docx
- 大小:18.53 KB
- 文档页数:10
css3发光动效
要实现CSS3发光动效,可以使用box-shadow属性、animation属性以及@keyframes关键字来实现。
首先,使用box-shadow属性添加一个发光效果的阴影。
例如:
```css
.box {
box-shadow: 0 0 10px #f00;
}
```
上述代码中,设置了一个半径为10像素、颜色为红色的发光
效果。
然后,使用animation属性和@keyframes关键字来创建动画效果。
例如:
```css
@keyframes glow {
0% { box-shadow: 0 0 10px #f00; }
50% { box-shadow: 0 0 20px #f00; }
100% { box-shadow: 0 0 10px #f00; }
}
.box {
animation: glow 2s infinite;
}
```
上述代码中,创建了一个名为glow的关键帧动画。
在动画中,用不同的box-shadow值来实现闪烁的效果。
然后,将该动画
应用到.box元素上,使其无限循环播放2秒。
通过上述代码,就可以实现一个发光动效的效果。
你可以根据需要调整box-shadow的值、动画持续时间以及其他样式属性
来达到你需求的效果。
Css3如何实现旋转移动动画特效本篇⽂章主要给⼤家介绍css3动画实现旋转特效的⽅法。
css即层叠样式表,想必学习前端的⼩伙伴们已经⾮常熟悉了。
那么⼤家应该都知道,⼀个炫酷的动画特效,能使你的⽹站显得更加⾼⼤上,丰富内容吸引⽤户。
下⾯我们就给⼤家介绍⼀个简单有趣的动画特效,也就是实现图⽚旋转效果。
<!DOCTYPE html><html><meta charset="utf-8"><title>css3实现旋转移动动画特效</title><head><style>.main{width: 100px;height: 50px;line-height: 50px;text-align: center;color: #fff;border-radius: 20px;background: red;position: relative;top: 30px;animation: asd 5s;}@keyframes asd {0 %{transform: rotate(0deg);}25%{transform: rotate(60deg);left: 0px;}50%{left:500px;}75%{transform: rotate(-520deg);}100%{transform: rotate(0deg);left: 0px;}}</style></head><body><div class="main">动画</div></body></html>css3中相关重要属性介绍:transform :transform属性表⽰向元素应⽤ 2D 或 3D 转换,可以对元素进⾏旋转、缩放、移动或倾斜。
css3的动画特效--动画序列(animation)⾸先复习⼀下animation动画添加各种参数(1)infinite参数,表⽰动画将⽆限循环。
在速度曲线和播放次数之间还可以插⼊⼀个时间参数,⽤以设置动画延迟的时间。
如希望使图标在1秒钟后再开始旋转,并旋转两次,代码如下.close:hover::before{-webkit-animation: spin 1s linear 1s 2;animation: spin 1s linear 1s 2;}(2)alternate参数。
animation动画中加⼊反向播放参数alternate。
在加⼊该参数后,动画将在偶数次数时反向播放动画。
.close:hover::before{-webkit-animation: spin 1s linear 1s 2 alternate;animation: spin 1s linear 1s 2 alternate;}animation属性参数中,延迟参数是我们较为常⽤的⼀种参数。
当动画的对象为多个时,我们常常⽤延迟参数来形成动画序列。
如以下代码定义了5个不同的图标:<span class="close icon-suningliujinyun">Close</span><span class="close icon-shousuo">Close</span><span class="close icon-zhankai">Close</span><span class="close icon-diaoyonglian">Close</span><span class="close icon-lingshouyun">Close</span>图标的基本样式和之前的Close图标⼀致,不同之处在于此处的图标都设置为inline-block,使它们能够横向排列。
5种纯CSS3鼠标滑过按钮动画特效这是一款使用纯CSS3制作的炫酷鼠标滑过按钮动画特效。
这组按钮特效共5种效果,分别是按钮边框动画,上下边框动画,浮雕效果,流光效果和光波效果。
这5种按钮鼠标滑过特效不仅效果酷,而且代码简单,非常实用。
制作方法HTML结构在第一种按钮鼠标滑过特效中,使用的是SVG线条动画来制作按钮的边框动画。
它的HTML结构如下:1.<a href="#" class="btn btn-1">2.<svg>3.<rect x="0" y="0" fill="none" width="100%" height="100%"/>4.</svg>5.Hover6.</a>其它几种效果的HTML结构都是基本相同的。
1.<a href="#" class="btn btn-2">Hover</a>2.3.<a href="#" class="btn btn-3">Hover</a>4.5.<a href="#" class="btn btn-4"><span>Hover</span></a>6.7.<a href="#" class="btn btn-5">Hover</a>CSS样式首先为按钮和它的父容器设置一些通用的CSS样式。
1..buttons {2.display: table;3.height: 100%;4.width: 100%;5.}6.7..container {8.display: table-cell;9.padding: 1em;10.text-align: center;11.vertical-align: middle;12.}13..btn {14.color: #fff;15.cursor: pointer;16.display: block;17.font-size: 16px;18.font-weight: 400;19.line-height: 45px;20.margin: 0 auto 2em;21.max-width: 160px;22.position: relative;23.text-decoration: none;24.text-transform: uppercase;25.vertical-align: middle;26.width: 100%;27.}28..btn:hover {29.text-decoration: none;30.}第一种按钮鼠标滑过效果是使用CSS来驱动SVG进行动画,IE10及以下的浏览器不支持第一种特效。
css3实现循环执⾏动画,且动画每次都有延迟⼀、最终效果需求:gift图⽚的⼩动画每隔2s执⾏⼀次。
需求就⼀句话,我们看⼀下实现过程。
⼆、实现过程1、⽹页结构<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>a {display: inline-block;background-color: #cc2222;text-decoration: none;color: #fff;font-size: 14px;padding: 10px 12px;width: 100px;position: relative;}.ico {position: absolute;width: 14px;height: 16px;background: url(images/ico.png) no-repeat center;background-size: 100%;position: absolute;top: 4px;right: 27px;}</style></head><body><nav><a href="javascript:;" class="box">⼀元夺宝<div class="ico"></div></a></nav></body></html>View Code2、原始动画原始动画效果为:⿏标hover上去出现动画。
动画样式如下:/*动画*/.ico:hover{-webkit-animation: Tada 1s both;-moz-animation: Tada 1s both;-ms-animation: Tada 1s both;animation: Tada 1s both}/*浏览器兼容性部分略过*/@keyframes Tada {0% {transform: scale(1);transform: scale(1)}10%,20% {transform: scale(0.9) rotate(-3deg);transform: scale(0.9) rotate(-3deg)}30%,50%,70%,90% {transform: scale(1.1) rotate(3deg);transform: scale(1.1) rotate(3deg)}40%,60%,80% {transform: scale(1.1) rotate(-3deg);transform: scale(1.1) rotate(-3deg)}100% {transform: scale(1) rotate(0);transform: scale(1) rotate(0)}}效果:⿏标hover上去gift图⽚会动⼀动。
CSS3中的过渡、动画和变换⼀、过渡 过渡效果⼀般由浏览器直接改变元素的CSS属性实现。
a、transition属性 transition 属性是⼀个简写属性,⽤于设置四个过渡属性:transition-propertytransition-durationtransition-timing-functiontransition-delay 注释:请始终设置 transition-duration 属性,否则时长为 0,就不会产⽣过渡效果。
1<!DOCTYPE html>2<html lang="en">3<head>4<meta charset="UTF-8">5<title>Document</title>6<style type="text/css">7 div{8 width: 100px;9 height: 100px;10 background: blue;11 transition: width 2s,background 3s,3S linear 3s;12 }13 div:hover{14 width: 300px;15 background: red;16 transition: width,background, 3s linear 2s;17 }18</style>19</head>20<body>21<div>2223</div>24</body>25</html> 可以设置设置某个属性的过渡持续时间(transition: width 2s,background 3s,3s linear 3s;),也可以设置所有的属性的过渡的持续时间(transition: width,background, 3s linear 2s)属性值和时间必须⽤逗号隔开; b、transition-property transition-property 属性规定应⽤过渡效果的 CSS 属性的名称。
CSS3动画@keyframes图⽚变⼤变⼩颜⾊变化在我做公司官⽹的时候也会帮着写⼀些游戏的静态页,今天产品要求为了突出⼀个按钮,他要有颜⾊的变化⽽且要变⼤变⼩,然后我就在⽹上搜了下呼吸灯和其他的案例,写了个⼩damo,看着还有些魔性嘞。
html:<body><div class="color"></div><img class="change" src="img/dongtai.png"/></body> 原理是这样的:body相对定位,.change绝对定位到.color上⾯,⼤⼩和.color⼀样,第⼀次刷新先显⽰.color,然后.change的透明度逐渐改变,与此同时,他们两个的⼤⼩也同时在改变CSSbody{position: relative;}.color{width:308px;height: 174px;background-color: lightskyblue;}.change{position: absolute;top: 0;left: 0;animation-name: mychange; /*动画的名字*/animation-duration: 1000ms; /*定义动画完成⼀个周期所需要的时间,以秒或毫秒计*/animation-iteration-count: infinite; /*定义动画的播放次数,这⾥是⽆限播放*/animation-direction: alternate; /*定义是否应该轮流反向播放动画,这⾥是动画轮流播放*/}.color{animation-name: mycolor;animation-duration: 1000ms;animation-iteration-count: infinite;animation-direction: alternate;}@keyframes mychange{ /*mychange是动画的名字上⾯有⽤到*/0% {opacity: .2;width: 308px;height: 174px;}100% {opacity: 1;width: 358px;height: 202px;}}@keyframes mycolor{0% {width: 308px;height: 174px;}100% {width: 358px;height: 202px;}} .color和.change的⼤⼩都是从宽:308px,⾼202px -->变化到宽358px,⾼174px。
25款不得不说的html5+css3动画效果这25款动画效果分别使⽤了html5 svg、css3 transform、css3 transition、css3 animation等制作⽽成。
1、9种梦幻般的html5+css3 tooltip⿏标提⽰插件效果这个tooltip⿏标提⽰插件将带您离开黄底⿊字的html tooltip原始时代。
该插件共9种效果,使⽤html5 svg和css3 transform属性完成。
该tooltip带图⽚带动画,效果⼀流。
>>2、19种基于css3的超华丽模态窗⼝效果这是⼀款集19种模态窗⼝效果于⼀体的css3插件。
使⽤了css3 transition 和css3 animation属性。
某些模态窗⼝中还加⼊了3d透视效果。
>>3、在桌⾯和移动设备上展⽰响应式设计这个响应式设计展⽰了在不同设备的显⽰屏上⽹页的显⽰效果,这种响应式设计保证了在所有显⽰屏上获得最佳显⽰效果。
>>4、 html5 svg打开圣诞礼盒和下雪动画效果⼀款很炫的html5 svg打开圣诞礼盒和下雪动画效果。
点击礼盒后会飞出许多icon礼物,之后会有雪花从屏幕上⽅飘落。
>>5、html5 css3为移动设备设计的可⾃由伸缩的搜索框代码这是⼀个为移动设备设计的可⾃由伸缩的html5搜索框代码,使⽤css3 transition属性和少量的javascript完成。
>>6、 css3 transitions和伪元素制作4种超酷⿏标经过hover动画效果⼀款使⽤css3 transitions和伪元素制作的4种⿏标经过hover动画效果,4种⿏标经过hover动画效果分别是:滴⽔效果,圆⼼放⼤,旋转放⼤和飞翔的独眼怪。
>>7、13款html5 svg页⾯loading加载动画效果13款使⽤html5 svg技术打造的页⾯loading加载动画效果。
css3实验报告总结
CSS3实验报告总结
本次实验主要是对CSS3的一些新特性进行实验和验证。
首先,我们通过实验验证了CSS3中的圆角特性,并对不同元素应用
不同的圆角效果。
接着,我们实验了CSS3中的渐变特性,使
用线性渐变和径向渐变对元素进行背景颜色的渐变效果。
然后,我们尝试了CSS3中的阴影特性,对元素应用了不同的阴影效果。
接下来,我们实验了CSS3中的转换特性,对元素进行了
平移、缩放和旋转等动画效果的实现。
最后,我们实验了
CSS3中的过渡特性,通过设置动画的开始和结束状态,实现
了元素的平滑过渡效果。
通过本次实验,我们对CSS3的一些新特性有了更深入的理解
和应用。
CSS3提供了丰富的样式特性,使得网页设计更加灵
活多样化。
通过对元素的圆角、渐变、阴影、转换和过渡等特性的运用,可以为网页设计增加更多的细节和动态效果,提升用户体验。
同时,我们还发现,CSS3可以通过使用简单的代
码实现复杂的效果,减少了前端开发的工作量。
总的来说,本次实验让我了解到了CSS3的一些新特性,并学
会了如何在实际开发中应用这些特性。
CSS3为网页设计带来
了更多的可能性,提升了用户体验,值得进一步学习和探索。
⽤css3和canvas实现的蜂窝动画效果近期⼯作时研究了⼀下css3动画和js动画。
主要是⼯作中为了增强页⾯的趣味性,⼤家都有意⽆意的加⼊了⾮常多动画效果。
当然⼤部分都是css3动画效果。
能够gpu加速,这会降低移动端的性能需求。
今天主要说的是蜂窝效果。
详细效果⼤家等下能够执⾏源代码。
这⾥就不放gif图了。
css3的原理⾮常easy,就是通过更改background-size,因为css3中的background中能够设置repeat属性,来使背景图⽚在x,y⽅向平铺。
⼀開始先设置background-size:10%, 10%,(这个数值能够⾃由定义,但不介意设置过⼤,否则效果不明显), 最后更改backg-size:100%, 100%;这样会使背景图⽚充满整个屏幕,哦。
对了不要忘记设置background-position:50% 50%;否则你会感觉怪怪的,设置background-position是为了是背景图⽚以中⼼点的位置来平铺,⽽系统默认会已左上⾓来平铺。
然后通过设置animation动画来调⽤动画就能够实现这样的效果了<pre name="code" class="html">.honey {position: absolute;top: 0;left: 0;height: 100%;width: 100%;background: url(2.jpg) repeat;background-size: 30% 30%;background-position: center center;-webkit-animation: honeycomb 3s 1 linear;}@-webkit-keyframes honeycomb {0% {background-size: 10% 10%;}100% {background-size: 100% 100%;}}使⽤css3来实现这样的蜂窝式的动画效果,原理简单。
CSS3添加了几个动画效果的属性,通过设置这些属性,可以做出一些简单 的动画效果而不需要再去借助 JavaScript 。
CSS3动画的属性主要分为三类: transform 、 transition 以及 animation 。
transform rotate设置元素顺时针旋转的角度,用法是:transform: rotate(x);参数x 必须是以deg 结尾的角度数或0,可为负数表示反向scale设置元素放大或缩小的倍数,用法包括:transform: skewX(a);元素 x 方向逆时针倾斜角度 a ,y 方向不变 transform: scale(a);元素x 和y 方向均缩放a 倍 transform: scale(a, b);transform: scaleX(a);transform: scaleY(b); 元素x 方向缩放 元素x 方向缩放 元素y 方向缩放 a 倍,y 方向缩放b 倍 a 倍,y 方向不变 b 倍,x 方向不变 translate设置元素的位移,用法为:transform: translate(a, b);transform: translateX(a);transform: translateY(b);元素x 方向位移a ,y 方向位移b 元素x 方向位移a ,y 方向不变 元素y 方向位移b ,x 方向不变 skew设置元素倾斜的角度,用法包括:transform: skew(a, b); 斜角度b元素x 方向逆时针倾斜角度 a ,y 方向顺时针倾transform: skewY(b); 元素y 方向顺时针倾斜角度b ,想方向不变以上的参数均必须是以deg 结尾的角度数或0,可为负数表示反向。
matrix 设置元素的变形矩阵,因为矩阵变形过于复杂,暂略。
origin 设置元素的悬挂点,用法包括:transform-origin: a b; 元素的悬挂点为(a, b) 元素的悬挂点即为它旋转和倾斜时的中心点。
取值中的a、b 可以是长度值、以%结尾的百分比或者left 、top 、right 、bottom 四个值。
transition transition-property 指定transition效果作用的CSS属性,其值是CSS属性名。
transition-duration动画效果持续的时间,其值为以s结尾的秒数。
transition-timing-function指定元素状态的变化速率函数,其取值基于贝赛尔曲线函数,详情如下所示:transition-delay动画效果推迟开始执行的时间,其值为以s结尾的秒数。
CSS3动画的生命周期如下图所示,从中可以清楚的看出duration和delay之间的关系:animationCSS3中真正的动画属性是animation,而前面的transform 和transition都只是对DOM元素的变形或者是状态的过渡。
实际上,CSS3所支持的动画效果只是填充动画,也就是说先设定整个动画生命周期中的几个关键状态(key frame,关键帧),然后动画将自行计算并模拟关键帧之间的过渡。
那么在设置animation 的属性之前就必须先设定好关键帧了。
关键帧@keyframes 的语法结构如下:@keyframesNAME {a% {/*CSS 属性*/}b% {/*CSS 属性*/}}NAME表示动画的名字;a%、b%表示以百分号结尾的百分数,用于设定该关键帧在动画生命周期中的位置;百分数后面的{ } 中则需要写成该关键帧状态下CSS属性的值。
另外,如果同一个百分数值在@keyframes中出现多次,那么后出现的将覆盖先出现的;并且关键帧在@keyframes 中时无序的。
设置完关键帧后就可以继续设定animation 了。
animation-name 指定选用的动画的名字,即keyframes 中的NAME。
animation-duration同transition-duration 。
animation-timing-function同transition-timing-function 。
animation-delay同transition-delay 。
animation-iteration-count 设定动画执行的次数,其值可以是数字也可以是infinite (循环执行)。
animation-direction设定动画执行的方向,其值可以是normal (正常顺序播放)或alternate (反向播放)。
前缀因为CSS3还没有正式发布,所以各种浏览器对它的支持也不尽相同。
所以在设置CSS3属性(包括@开头的新属性)的时候通常需要对其添加浏览器标识的前缀,如-webkit- 表示Webkit 内核的浏览器Chrome 和Safari,-moz- 表示Fire Fox, -o-表示Opera。
无视IE吧,在IE上的实现通常还是要用到滤镜,而不是CSS3。
实例下面的代码模拟了上述大部分的CSS3动画属性,由于只使用了-vebkit-前缀,所以只能在Chrome 或Safari 下正常运行。
HTML代码:[html] view plain copy1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""”>2. <html xmlns="">3. <head>4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />5. <title> CSS3动画</title>6. <link type="text/css" rel="stylesheet" href="animation.css" />7. </head>8.8. <body>9. <div class="rotate" >rotate </div>10. <div class="scale">scale</div>11. <div class="translate" >translate </div>12. <div class="skew">skew</div>13. <div class="origin" >origin </div>14. <div class="single">single property </div>15. <div class="whole" >whole property </div>16. <div class="resume">change & resume</div>17. <div class="animation" 'animation </div>18. </body>19. </html>CSS代码:animation.css [css] view plain copy1. div {2. width : 80px;3. height : 30px;4. line-height : 30px;5. text-align : center;6. background : #06F;7. color : #fff;8. font-family : Arial, Helvetica, sans-serif;9. -webkit-border-radius: 10px;10. margin : 5px;11. }12.13. .rotate {14. -webkit-transform: rotate(0deg);15. }16.17. .rotate:hover {18. -webkit-transform: rotate(90deg);19. }20.20. .scale {21. -webkit-transform: scale(1);22. }25. .scale:hover {26. -webkit-transform: scale(1.5);27. }28.29. .translate {30. -webkit-transform: translate(0px, 0px);31. }32.33. .translate:hover {34. -webkit-transform: translate(50px, 50px);35. }36.37. .skew {38. -webkit-transform: skew(0);39. }40.41. .skew:hover {42. -webkit-transform: skewY(20deg);43. }44.45. .origin {46. -webkit-transform-origin: top left;47. -webkit-transform: rotate(0);48. }49.50. .origin:hover {51. -webkit-transform: rotate(45deg);52. }53.54. .single {55. width : 150px;56. }57.58. .single:hover {59. background : #f00;60. width : 200px;61. height : 100px;62. line-height : 100px;63. -webkit-transition-property: background;64. -webkit-transition-duration: 2s;65. }66.67. .whole {68. width : 150px;69. }70.71. .whole:hover {72. width : 200px;height : 100px;line-height : 100px;background : #f00;-webkit-transition-duration: 2s;}.resume {width : 150px; -webkit-transition-duration: 2s;}.resume:hover {width : 200px;height : 100px;line-height : 100px;background : #f00;-webkit-transition-duration: 2s;}.animation:hover {-webkit-animation-name: anim;-webkit-animation-duration: 2s;-webkit-animation-timing-function: linear; -webkit-animation- direction : alternate;73. 74. 75. 76. 77. 78.79. 80. 81.82. 83.84.85. 86. 87. 88. 89. 90. 91. 92.93. 94. 95.96.119. } 97. -webkit-animation-iteration-count: infinite;@-webkit-keyframes anim { 0% {width : 80px; height : 30px; line-height : 30px; background : #06F; } 50% { width : 140px; height : 65px; line-height : 65px; background : #360; } 100% {width : 200px; height : 100px; line-height : 100px; background : #f00; }98. }99.100. 101. 102. 103.104.105.106.107. 108. 109.110.111.112.113.114.115.116.117.118.。