整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

一篇文章教会你使用html+css3制作GIF图

一、项目背景】

生活中经常会见到很多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/

么样制作这么一个简单的(CSS3动画)静态网页动态图呢?

当然如果不限制使用的语言,那实现的方法有很多啦,简单的javaScript语言就可以很容易实现,当然使用框架的话就会更加简单啦。现在让我们用一些更简单单纯的CSS语言来实现。

实现这样的(CSS3动画)静态网页动态图,需要用到哪些东西呢?

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部分:

CSS3动画是什么?

动画是使元素从一种样式逐渐变化为另一种样式的效果。可以改变任意多的样式任意多的次数。用百分比来规定变化发生的时间,或用关键词 "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样式浏览器兼容性问题归纳

CSS3动画animation标签

该标签由三部分组成:

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盒子模型及布局方式:

div盒子的五大主要属性:height、width、padding、margin、border。

div盒子常用布局属性:position: ; 、overflow: ; 等

大div容器.sky的样式如下:

.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);
}

云层1div块的设置如下:

注意:

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);
}

云层2div块的设置如下:

注意:

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);
}

云层3div块的设置如下:

注意:

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);
}

设置动画的关键帧@KeyFrames:

开始-中间-结束按钮 转化为 0%--50%--100%,我们又可叫做进度条。在不同阶段设置不同的背景色,是整个过程 呈现渐变动画状态。

注意:@ :千万不能丢掉

大的div(.sky)关键帧设置:

@-webkit-keyframes sky_background { //可以把其他几个兼容内核按照这个模板罗列
 0% { //-o- 、-ms-、-moz- 和自身兼容
	background: #007fd5; // 起点
	color: #007fd5 ; //起点
 }
 50% {
	background: #000; //转折点
	color: #a3d9ff ; //转折点
 }
 100% {
	background: #007fd5; //起点
	color: #007fd5; //起点
 }
}

云层div块的关键帧设置:

云层设置只用设置开始和结束的位置即可

@-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份简历模板】?一起看到【文章最后】吧!~↓↓↓

1、Word插入图片

将图片导入Word文档中,发现不动??不急~我们进行后面简单的操作~


2、设置图片格式

修改图片格式不难,这里和大家分享更快速的方法~

批量设置图片相同大小

(1)图片之间按回车进行分行;

(2)双击第一张图片,右上方【大小】修改【宽度】(一般默认锁定纵横比,所以高度可以不修改~);

(3)剩余图片分别单击选中,按F4键,就可以快速批量应用相同大小啦!~

设置图片位置:同样利用快捷键~【Ctrl+E】快速居中!~然后再用F4键~


3、Word另存格式

怎样快速另存为?图片要保存为什么格式,才会在Word里动起来?

最终答案揭晓!~选中全部图片,按F12键一秒唤出【另存为】对话框!~

保存类型】选择【网页*.htm、*.html】。


打开另存的网页格式文件~华丽丽的动图效果如下~↓↓↓

表白美腻的淋淋!❤~么么哒!~

哈哈哈原来那只狗狗一脸蒙蔽是因为:主人把雪块丢到雪地里,它找不到哈哈哈哈哈哈哈嗝!~


赠268份简历模板(评论邮箱)

小哥辛苦搜集的简历模板,炒鸡实用!~这还只是冰山一角!~大家积极点~【评论区留下邮箱】免费拿走268份完整版!~不要辜负小哥的一番心意哟~(^U^)ノ~↓↓↓


识别图片中的文字,可以使用【捷速OCR文字识别软件】~