站在巨人的肩膀上——制作酷炫web幻灯片

你是否还在用ppt做一些毫无意思的幻灯片?你是否在做ppt的时候绞尽脑汁想把效果做的吸引大家?你是否想通过一次ppt吸引领导的注意?那好吧!来学学怎么制作一款炫酷的web幻灯片~

ps:如果看到这里还不感兴趣就请先看看素材演示,这个演示是前些时候给组里新人介绍HTML5的时候自己做的一款幻灯片!

 

工具

  1. 一款最近版本的chrome浏览器(火狐,safari也可)
  2. 一款趁手的IDE工具
  3. impress.js君(您也可下载本页素材进行自己需求的修改)

优点

几乎不需要写任何JS,只需要在每个子页DOM处添加几个属性就可达到效果!至于CSS嘛,根据你的幻灯片需求,看情况写啦!

操作时候可以用键盘空格、光标或者鼠标滚轮控制幻灯片切换

原理

看完效果大多数人应该就了解了原理,在这里还是罗嗦一下:其实每一个子页就是id为impress的div下的一级div,impress将他们每个起始位置或动画角度定好(由我们来配),当子页出现时候通过平滑的css动画过度到屏幕正向面前。就好像一张大纸上画了好几个div,屏幕就像一个放大镜焦点,从第一个div开始,挨个看div,在过程中不断平移或旋转这个大纸(3d效果动画另说)。

HTML部分结构

  1. <body>
  2. ....
  3. <div id="impress">
  4. <div class="step">子页一</div>
  5. <div class="step">子页二</div>
  6. <div class="step">子页三</div>
  7. <div class="step">子页四</div>
  8. ....
  9. </div>
  10. ....
  11. </body>

JS代码部分

除了引入impress.js就是下面这句了:

  1. <script> impress().init(); </script>

API

  • data-x:幻灯片的x坐标(子页面出现时候进行平移)
  • data-y:幻灯片的y坐标(子页面出现时候进行平移)
  • data-z:幻灯片的z坐标(子页面出现时候进行z轴深度的平移)
  • data-scale:缩放。通过指定一个值来进行缩放,将该子页出现时进行放大,同时其他子页就会相对变小
  • data-rotate:旋转。通过一个数字度数来确定旋转你的幻灯片
  • data-rotate-x:为3D用,这个数字度数是它应该相对x轴旋转多少度。(前倾/后仰)
  • data-rotate-y:为3D用,这个数字度数是它应该相对y轴旋转多少度。 (左摆/右摆)
  • data-rotate-z:为3D用,这个数字度数是它应该相对z轴旋转多少度。

一共就这几个参数,配置在每个子页div的DOM上

DEMO

  1. ……
  2. …………
  3. <div id="title" class="step" data-x="0" data-y="0" data-scale="4">
  4. <span class="try">进入正题</span>
  5. <h1>HTML <sup>5</sup></h1>
  6. <span class="footnote"><sup>*</sup>W3C万维网联盟</span>
  7. </div>
  8. <div id="yuyi" class="step item" data-x="850" data-y="3000" data-rotate="90" data-scale="3">
  9. <h3>语义</h3>
  10. <img src="img/yy.png" width="100%">
  11. <p class="font6">HTML5 引入了新的 HTML 元素,通过使用这些元素,开发者可以更细致的描述文档结构,让文档更加易读,搜索引擎也能更好的理解页面中各部分间的关系,我们也可以搜索到更快,更准确的信息。
  12. </p>
  13. </div>
  14. …………
  15. ……

这是幻灯片中的一个片段,截取了源码中两个子页代码,从这里可以读出3个要点:

  1. 每个子页是一个div,必须有一个step作为class,如果没有,这个div将不会在幻灯片进行时候出现
  2. api中的属性写在子页div中
  3. 每个子页的自定义css可以定义class或者id写在css文件中

到这里,聪明的读者应该已经迫不及待的,想要靠自己的智慧想要去亲手做一个了。但是这时候我再废话几句我的源码:

    1. <div class="step slide" data-x="-1000" data-y="-1500">
    2. <img src="img/h5.png">
    3. <h1>HTML5 介绍</h1>
    4. </div>

    第一个子页这里data-x,data-y是可以从0开始的,之所以这样其实是想告诉大家这里可以不从0开始,哈哈!可以把定位在0子页之前的这种子页当成幻灯片前言

    1. <div id="overview" class="step" data-x="3000" data-y="1500" data-scale="10">
    2. </div>

    源码最后的子页有个这个空的div,其实是为了展示出来“整张大纸”的全景,坐标是自己摸索出来的,放大倍数也是根据内容多少而大致试出来的。这个div其实定义了style:display:none,但是幻灯片还是会展示,只是个空的而已。也就是说即便对他设置了css让他隐藏,但只要有step这个class在,一样不会被忽略!

点击这里在线调试和把玩相关代码

原文链接:http://www.gbtags.com/gb/share/5688.htm

时间: 2024-08-29 12:27:02

站在巨人的肩膀上——制作酷炫web幻灯片的相关文章

站在巨人的肩膀上——人事项目数据导出word

最近在做人事项目中的,数据导出word,具体的说就是从web客户端页面获取信息,添加到信函模板中,再导出为word文档.总结一下,学会了两种方法,1.通过将word模板转换为html文件,输出word.2.利用第三方组件Aspose.Words操作word模板,输出word. 一.通过将word模板转换为html文件,输出word 1.制作word模板,在word文档中要添加内容的地方输入占位符. 2.把word模板另存为html文件. 文件-另存为-网页htm文件. 3前台代码 <asp:Bu

年薪百万的程序员都是站在巨人的肩膀上开发

要想成为一名软件开发者需要学习各种专业知识.技术与框架.比如算法.数据结构.编程语言.流行框架等.但是要想成为更加出色的软件开发者,你要学习的就不仅仅是专业上的知识了. 标题过于浮夸,希望大家谅解,但本篇是满满的干货.今天我想分享一点关于软件开发者如何改进职业技能从而变得更擅长于自身工作的技巧.这里要谈的主题是通用性的,并没有针对任何特定的技术栈.其实这里要谈的大部分甚至都不是针对 IT 的.这些都是如何形成个人特质,跟同事.客户改进协作,以及拓展作为软件开发者职业生涯的一般性建议. 端到端理解

站在巨人的肩膀上,C++开源库大全

程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分. Standard Template Library:标准模板库 C POSIX library : POSIX系统的C标准库规范 ISO C++ Standards Committee :C++标准委员会 框架 C++通用框架和库

站在巨人的肩膀上学习Android开发

我们知道,一开始最好的学习方法是模仿,尤其是模仿巨人.那说到Android开发的模仿自然就是分析并研究主流程序的布局.实现方法,进而提升自己的技术. 第一招----逆向工程 要分析"巨人"们的软件,自然免不了逆向工程,即将APK程序转化为我们可以看的懂得源码.这个google官方已经帮我们做好了工具,apktool就是一款很好的逆向工具. 下载地址为:http://pan.baidu.com/s/1kTqRhaR 我们以分析微信为例来说明这个工具的使用: 你只需执行如下命令,即完成了反

站在巨人的肩膀上才能看得更加远[Amo]

本来只是路过,写详细一点.我看楼主浮躁得不得了.现在什么都不要做了,先去看几遍<不要做浮躁的嵌入式工程师>这篇文章,想清楚了,再动手吧.我做了个实例,不用ST的库来点LED,解答你的问题我的 KeilMDK 3.5我的STM32板子奋斗版是 ,IC 是 STM32F103VET6调试工具 JLINK V8LED 接在 PB5 ,高电平点亮既然楼主说一定懂C语言了,那么对于下面我的问题,不查百度,完全靠自己,懂多少?然后查了百度之后又能懂多少?(一)新建 keil 工程,IC选择 ST 公司的

站在巨人的肩膀上,谈 app 的创新性

这段时间做了.看了.听了,也想了很多,我们的成功始终是站在巨人的肩膀上的,在学习了很多工业界大牛的经验之谈之后,我经过认真的思考,特别想整理这样一篇文章,希望与许多有梦想的 IT 小伙伴儿们共享.共勉!如果说的不对的地方,欢迎大家在下面留言讨论,虚心学习. 随着移动设备的普遍和相关技术的成熟发展,我们都希望自己可以开发一个好用的应用,不管是公益性的还是旨在运营推广的app,既然练手何不做的有声有色.如果你不是在资源丰富的平台下,而是自己组队开发一个app,并向体现自己的竞争力,能够脱颖而出,那么

小游戏“跳一跳”——站在巨人的肩膀上,用技术为自己助力

在更新最新版微信之后,聊天列表下拉会出现一个崭新的模块,其中就有新推出的"跳一跳"小游戏.而在我几经努力奋斗到266分的时候,已经有技术大牛占据1999的高地... 抱着试一试的心态和蠢蠢欲动的好奇心... 实现了程序助力玩游戏... 具体代码来自gitHub的python大牛... 感兴趣的同学可以和我一起站在巨人的肩膀上... 另外说一点, 如果以后还想玩"跳一跳"的话... 不建议你接着往下看... 因为当你有了捷径... 整个游戏瞬间变得索然无味... 如果

软件工程——站在巨人的肩膀上抱团取暖

摘要 软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科. 而工程化的最主要的特点是系统化.规范化.可量化并且严格控制流程得完成开发或生产任务,在此严格的条件下优质.高效的进行生产活动. 前言 当初懵懂无知地选择了软件工程这门专业,过了大一一年才开始程序员该有的博客之旅.而我认为“程序猿”是最需要最会站在巨人的肩膀上的,代码靠借鉴,思路靠传承,在原有的基础上创新,于是成就了无数优秀的软件. 程序员都知道 :程序 = 算法 + 数据结构 软件 = 程序 + 软件工程 软件企

站在巨人的肩膀上---重新自定义 android- ExpandableListView 收缩类,实现列表的可收缩扩展

距离上次更新博客,时隔略长,诸事繁琐,赶在去广州答辩之前,分享下安卓 android 中的一个 列表收缩 类---ExpandableListView 先上效果图: 如果想直接看实现此页面的代码请下滑到 红线 下 关于这个类的具体各函数的使用说明,这里不作详细说明,提供一个链接http://www.apkbus.com/android-124715-1-1.html,里面有关于此类的详细介绍. 我在这里主要通过源代码的注释和必要的说明,说明如何实现自定义的收缩列表. 必要的函数: 0-> 1 E