一篇文章教会你使用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/ 想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是实现3D立方体效果的步骤: 1. 在HTML中创建一个div容器,并在其中添加6个img元素,每个img元素对应立方体的一个面,可以使用不同的片或颜色来区分。 ``` <div class="cube"> <img src="img1.jpg" alt=""> <img src="img2.jpg" alt=""> <img src="img3.jpg" alt=""> <img src="img4.jpg" alt=""> <img src="img5.jpg" alt=""> <img src="img6.jpg" alt=""> </div> ``` 2. 在CSS中设置立方体容器的宽度和高度,并将其设置为相对定位。 ``` .cube { width: 300px; height: 300px; position: relative; } ``` 3. 对每个img元素进行绝对定位,并设置它们的宽度和高度为立方体容器的宽度和高度。 ``` .cube img { position: absolute; width: 300px; height: 300px; } ``` 4. 使用CSS3的transform属性将每个img元素旋转到正确的位置。这里使用的是rotateX、rotateY和translateZ函数来完成旋转和位移。 ``` .cube img:nth-child(1) { transform: rotateY(0deg) translateZ(150px); } .cube img:nth-child(2) { transform: rotateY(90deg) translateZ(150px); } .cube img:nth-child(3) { transform: rotateY(180deg) translateZ(150px); } .cube img:nth-child(4) { transform: rotateY(-90deg) translateZ(150px); } .cube img:nth-child(5) { transform: rotateX(90deg) translateZ(150px); } .cube img:nth-child(6) { transform: rotateX(-90deg) translateZ(150px); } ``` 5. 最后,使用CSS3的transition属性和hover伪类来添加鼠标悬停时的动画效果。这里使用的是rotateX和rotateY函数来实现旋转。 ``` .cube img:hover { transition: all 0.5s ease-in-out; } .cube img:hover:nth-child(1) { transform: rotateX(90deg); } .cube img:hover:nth-child(2) { transform: rotateY(90deg); } .cube img:hover:nth-child(3) { transform: rotateY(180deg); } .cube img:hover:nth-child(4) { transform: rotateY(-90deg); } .cube img:hover:nth-child(5) { transform: rotateX(-90deg); } .cube img:hover:nth-child(6) { transform: rotateX(90deg); } ``` 完成上述步骤后,就可以实现一个简单的3D立方体效果了。希望这个教程能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值