一、项目背景】
生活中经常会见到很多gif图,那么gif图到底是什么?GIF是一种位图。简单来说就是通过每一张张静图,通过控制它的关键帧,从而达到静态图动起来的效果。
这种GIF图的效果,也可以用html+CSS3结合来做。
【二、项目目标】
完成GIF图的制作。
【三、项目分析】
1、分析图片。打开其中一张图。
2、可以看到这张图有45张不一样动作的静态图合成。有点击属性。如图所示:
看到这张照片是7020*156,一共有45帧。高度不变,宽度7020/45帧,就可以把每一帧的内容显示出来。
【四、项目准备】
1、图片:准备自己的喜欢的GIF静态长图,保存在文件夹。
2、软件:Dreamweaver。
【五、项目实现】
1、创建div 存放图片和文件,添加class属性。
<body>
<div class="box">
<div class="box2">
</div>
</div>
</body>
2、添加CSS样式
1) 设置box的宽、高、位置、背景颜色。
.box{
width: 300px;
height: 300px;
background: #ccc;
position: absolute;
left: 0px;
top: 0;
}
2)加载图片,设置宽、高,-webkit-animation动画效果。
.box2{
width: 156px;
height: 156px;
background: url("fox45.png");
-webkit-animation:aa 3s steps(45) infinite ;
}
@-webkit-keyframes aa{
100%{
background-position: -7020px 0;
}
}
CSS3 animation属性中的steps实现GIF动图(逐帧动画)
steps(45)表示让整个动画在45个关键帧之间切换。这个松鼠的图片中
包含了45帧,所以这里设置了45。而且我们的动画时长是3s,也就是说每一帧
停留1s,这就和普通的GIF动图达到了一样的效果。
【六、效果展示】
1、点击F12运行到浏览器。
2、点击图片,效果如下。
【七、总结】
1、本项目,就gif图遇到的一些难点进行了分析及提供解决方案。
2、html+css也可以做出网站页面的效果,在上面显示图片标题的地方不能用绝对定位,于是用的relative定位,这个地方是布局的核心部分。
3、按照操作步骤,自己尝试去做。自己实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
4、需要本文源码的小伙伴,后台回复“GIF图”四个字,即可获取。
****看完本文有收获?请转发分享给更多的人****
IT共享之家
入群请在微信后台回复【入群】
想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/
当然如果不限制使用的语言,那实现的方法有很多啦,简单的javaScript语言就可以很容易实现,当然使用框架的话就会更加简单啦。现在让我们用一些更简单单纯的CSS语言来实现。
1、素材:云层
image:云层1.png 云层2.png 云层3.png 也就是需要几张不同的云层图片。
云层1.png
云层2.png
云层3.png
这看似什么也没有的云层,能作出这样美丽的变化图,也是一种美的艺术。
细看之下的云层
2、文档编辑软件:Sublime Text3
Sublime Text3 是一款非常强大的,且非常好用前端常用开发工具之一。大家可以尝试一下。
界面
快捷方式
3、HTML部分: 放置云层图片
主要实现三张图片的布局,所以用三个div标签即可。
<div class="sky"> <div class="clouds_one"></div> <div class="clouds_two"></div> <div class="clouds_three"></div> </div>
4、CSS部分:
动画是使元素从一种样式逐渐变化为另一种样式的效果。可以改变任意多的样式任意多的次数。用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。0% 是动画的开始,100% 是动画的完成。而且为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
通过在设定的开始时间和结束时间之间的特定时间段,设置背景的随时间的样式变换来实现。
第一部分:CSS常见兼容性问题解决
html,body{ margin:0; padding:0; height:100%; }
第二部分:CSS中动画标签animation 属性兼容性问题解决:
-webkit-animation:; //代表Safari、Chrome等浏览器的私有属性 -moz-animation: ; //代表火狐firefox浏览器私有属性 -o-animation: ; //代表欧朋Opera浏览器私有属性 -ms-animation:; //代表IE浏览器的私有属性 animation: ;//自身兼容IE10、Firefox 以及 Opera 等浏览器。
还有其他CSS兼容性问题可参考:CSS样式浏览器兼容性问题归纳
该标签由三部分组成:
1、关键帧(keyframes) - 定义动画在不同阶段的状态。
2、动画属性(properties) - 决定动画的播放时长,播放次数,以及用何种函 数式去播放动画等。(可以类比音视频播放器)
3、css属性 - 就是css元素不同关键帧下的状态。
Animation
@Keyframes属性
animation-timing-function
-webkit-animation: sky_background 50s ease-out infinite;/*动画过程 时间 以慢速结束 无限循环*/ -webkit-transform: translate3d(0, 0, 0); /*兼容Safari、Chrome等浏览器内核,将其定义为3d转换*/
div盒子的五大主要属性:height、width、padding、margin、border。
div盒子常用布局属性:position: ; 、overflow: ; 等
.sky { height: 100%; background: #007fd5; position: relative; /*相对定位*/ overflow: hidden; /*超出隐藏*/ -webkit-animation: sky_background 50s ease-out infinite;/ *动画播放过程:50s(播放时长)以慢速结束(ease-out) 无限循环(infinite)*/ -moz-animation: sky_background 50s ease-out infinite; -o-animation: sky_background 50s ease-out infinite; animation: sky_background 50s ease-out infinite; -webkit-transform: translate3d(0, 0, 0); //-webkit- Safari、Chrome等 -ms-transform: translate3d(0, 0, 0); //-ms- 代表IE浏览器的私有属性 -o-transform: translate3d(0, 0, 0);//-o- 代表欧朋Opera浏览器私有属性 transform: translate3d(0, 0, 0); }
注意:
1、width:300% ; 是为了在播放之时保证能够充分的衔接。
2、position:absolute; 绝对定位。
.sky .clouds_one { background: url("../images/cloud_one.png"); position: absolute; left: 0; top: 0; height: 100%; width: 300%;// -webkit-animation: cloud_one 50s linear infinite; //linear:匀速 -moz-animation: cloud_one 50s linear infinite; -o-animation: cloud_one 50s linear infinite; animation: cloud_one 50s linear infinite; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
注意:
1、width:300% ; 是为了在播放之时保证能够充分的衔接。
2、position:absolute; 绝对定位。
.sky .clouds_two { background: url("../images/cloud_two.png"); position: absolute; left: 0; top: 0; height: 100%; width: 300%; -webkit-animation: cloud_two 75s linear infinite; -moz-animation: cloud_two 75s linear infinite; -o-animation: cloud_two 75s linear infinite; animation: cloud_two 75s linear infinite; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
注意:
1、width:300% ; 是为了在播放之时保证能够充分的衔接。
2、position:absolute; 绝对定位。
.sky .clouds_three { background: url("../images/cloud_three.png"); position: absolute; left: 0; top: 0; height: 100%; width: 300%; -webkit-animation: cloud_three 100s linear infinite; -moz-animation: cloud_three 100s linear infinite; -o-animation: cloud_three 100s linear infinite; animation: cloud_three 100s linear infinite; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
开始-中间-结束按钮 转化为 0%--50%--100%,我们又可叫做进度条。在不同阶段设置不同的背景色,是整个过程 呈现渐变动画状态。
注意:@ :千万不能丢掉
@-webkit-keyframes sky_background { //可以把其他几个兼容内核按照这个模板罗列 0% { //-o- 、-ms-、-moz- 和自身兼容 background: #007fd5; // 起点 color: #007fd5 ; //起点 } 50% { background: #000; //转折点 color: #a3d9ff ; //转折点 } 100% { background: #007fd5; //起点 color: #007fd5; //起点 } }
云层设置只用设置开始和结束的位置即可
@-webkit-keyframes cloud_one { //同上 0% { left: 0 } 100% { left: -200% //保证完美衔接 } } @-webkit-keyframes cloud_two { 0% { left: 0 } 100% { left: -200% } } @-webkit-keyframes cloud_three { 0% { left: 0 } 100% { left: -200% } }
经过这些简单的设置,一个云彩变换的动画就可以展示出来了。 总结一下用到的动画关键属性:
animation:
animation: name duration timing-function delay iteration-count direction;
transform:
transform: none|transform-functions;
keyframes:
@keyframes animationname {keyframes-selector {css-styles;}/*0%{} 50%{} 100%{}*/}
position:
position:absolute /relative;
注意: 一般动画animation 和 @KeyFrames是联合使用的。
点击扩展链接可查看源码。
本文部分内容参考网络,如有错误,感谢指出,如有侵权,请联系修改。
ord插入gif动图不动?简单3步让它们乖乖动起来!~效果图先展示一波!~↓↓↓
想知道图中的狗狗为什么一脸蒙蔽?想要【免费领取268份简历模板】?一起看到【文章最后】吧!~↓↓↓
将图片导入Word文档中,发现不动??不急~我们进行后面简单的操作~
修改图片格式不难,这里和大家分享更快速的方法~
批量设置图片相同大小:
(1)图片之间按回车进行分行;
(2)双击第一张图片,右上方【大小】修改【宽度】(一般默认锁定纵横比,所以高度可以不修改~);
(3)剩余图片分别单击选中,按F4键,就可以快速批量应用相同大小啦!~
设置图片位置:同样利用快捷键~【Ctrl+E】快速居中!~然后再用F4键~
怎样快速另存为?图片要保存为什么格式,才会在Word里动起来?
最终答案揭晓!~选中全部图片,按F12键一秒唤出【另存为】对话框!~
【保存类型】选择【网页*.htm、*.html】。
打开另存的网页格式文件~华丽丽的动图效果如下~↓↓↓
表白美腻的淋淋!❤~么么哒!~
哈哈哈原来那只狗狗一脸蒙蔽是因为:主人把雪块丢到雪地里,它找不到哈哈哈哈哈哈哈嗝!~
小哥辛苦搜集的简历模板,炒鸡实用!~这还只是冰山一角!~大家积极点~【评论区留下邮箱】免费拿走268份完整版!~不要辜负小哥的一番心意哟~(^U^)ノ~↓↓↓
识别图片中的文字,可以使用【捷速OCR文字识别软件】~
*请认真填写需求信息,我们会在24小时内与您取得联系。