作者: 徐小夕
转发链接:https://mp.weixin.qq.com/s/XHwOHf498t6ZNfDLiwZ6Xg
最近在做季度总结和技术分享,所以需要做个PPT, 来回顾这半年来的技术贡献. 但苦于mac上运行PPT那感人的流畅度, 成功的激起了笔者的强迫症, 所以索性想办法通过技术的手段来做个网页版PPT, 这个时候笔者发现了reveal.js: 一个使用 HTML 语言制作演示文稿的 Web 框架,支持插入多种格式的内容,并以类似 PPT 的形式呈现. 花了15分钟系统的调研了一下, 觉得基本满足技术分享类PPT的要求, 所以决定采用该方案来实现我的网页版PPT. 这里列一下笔者的技术调研方法论, 供大家参考:
所以笔者接下来大致按照以上几个衡量标准, 来带大家一起感受一下如何快速通过reveal.js实现一个极具动感的PPT.
首先笔者先来谈谈PPT的不足(非专业角度, 技术视角):
PPT虽然强大,但占据了磁盘的大量空间,运行时内存占用也不小;而且在 mac上跑 PPT 来就像乘上了印度的绿皮小火车。随着 mac 的普及和动画技术的发展,诸如Keynote、Prezi 等新秀陆续出现,它们不仅轻量且可以实现各种炫目的动画效果.制作需要花费大量时间, 受平台限制所以对于不熟悉PPT套路的技术工作者来说, 往往很难快速制作出精美的PPT.
接下来我们再看看reveal.js的优势.
说了这么多revealjs的优点,接下来我们就来学习如何使用它吧.
作为一名前端工程师, 我们很容易把reveal.js集成到我们的vue或者react项目中, 但是作为演讲类型的项目,我们直接用最原始的方式实现即可,首先我们需要引入相关的文件,具体可参考官网所说的步骤去做: revealjs.com/. 最简单的使用方式如下:
复制代码这样通过短短几行代码, 我们就能实现一个两页的PPT.
当然我们还能实现更加自由的演示动画, 父子嵌套结构, 专场动画等. 接下来我们介绍几个核心API.
父子嵌套主要是一个PPT主题可能包含很多子主题, 要想实现父子主题分明的演示文档, 在reveal.js也很好实现, 只需要在section内部再包裹section标签即可. 代码如下:
复制代码效果如下图所示:
我们都知道技术类PPT肯定离不开代码, 我们在reveal.js中可以很容易的展示我们的代码,并且支持多种语言, 其框架底层集成了 业界比较有名的highlight.js. 使用方式如下:
Markdown是技术工作者常用的编写文档的工具, revealjs同样也支持使用Markdown的方式来编写PPT, 是不是很贴切? 具体方式如下:
revealjs支持对每一页幻灯片使用自定义背景(包括视频).我们只需要在section标签中使用data-background即可, 并且支持背景透明. 具体demo如下:
Backgrounnds一共有如下属性可以使用:
data-background-image 当前页的背景图片地址data-background-size 背景的大小data-background-position 背景位置data-background-repeat 背景的重复方式data-background-opacity 背景透明度data-background-video 视频背景的地址data-background-video-loop 视频背景的循环模式data-background-iframe 背景为iframe的url地址data-background-interactive 是否能与iframe的内容交互Fragments用来高亮或者渐进式的展现元素.每一个包含fragment类名的元素都被视为渐进的元素, 它们会通过点击下一步来依次呈现在幻灯片中.
reveal.js提供了很多种不同风格的主题, 我们只需要引入不同的css即可. 包括黑色(black), 白色(white), league, beige, 天空(sky), 夜晚(night)等主题.大家可以自行感受一下.
不同幻灯片进入页面的动画方式我们可以使用Transitions来设定. 以下是提供的几种默认转场动画:
fade 淡出slide 滑出convex 凸面旋转concave 凹面旋转zoom 放大具体demo实现如下:
复制代码导出PDF作为一个附加功能也算是比较贴心了,如果想了解使用方式可以参考
https://revealjs.com/pdf-export/
接下来我们就来实现一个动态的PPT demo, 供大家学习参考.
代码如下:
《15个简单的JS编码标准让你的代码更整洁》
《Node 中的全链路式日志标记及处理》
《使用 Node 开发服务器项目时如何高效地打日志?》
《一文带你搞懂前端如何玩转 Word 文档》
《高频面试题:JavaScript事件循环机制解析》
《手写一个Promise/A+ 完美通过官方872个测试用例》
《你不知道的前端图片处理(上)》
《你不知道的前端图片处理(下)》
《钉钉前端-如何设计前端实时分析及报警系统》
《前端实现最佳截图方案(上)》
《前端实现最佳截图方案(下)》
《Node.js 实现抢票小工具&短信通知提醒(上)「干货」》
《Node.js 实现抢票小工具&短信通知提醒(下)「干货」》
《那些不常见,但却非常实用的JS知识点(上)》
《那些不常见,但却非常实用的JS知识点(下)》
《如何为团队定制自己的 Node.js 框架?》
《细品原生JS从初级到高级知识点汇总(一)》
《细品原生JS从初级到高级知识点汇总(二)》
《细品原生JS从初级到高级知识点汇总(三)》
《细品原生JS从初级到高级知识点汇总(四)》
《学习 jQuery 源码整体架构,打造属于自己的 js 类库》
《细说RTSP实现前端直播流探索记「干货」》
《一文带你搞懂前端登陆设计》
《使用 Node.js 将图片中的苹果变成橘子「实践」》
《基于Canvas实现的高斯模糊(上)「JS篇」》
《基于Canvas实现的高斯模糊(下)「JS篇」》
《由浅入深,66条JavaScript面试知识点(一)》
《由浅入深,66条JavaScript面试知识点(二)》
《由浅入深,66条JavaScript面试知识点(三)》
《由浅入深,66条JavaScript面试知识点(四)》
《由浅入深,66条JavaScript面试知识点(五)》
《由浅入深,66条JavaScript面试知识点(六)》
《由浅入深,66条JavaScript面试知识点(七)》
《为什么 setTimeout 有最小时延 4ms ?from=pc"pgc-end-literature">作者: 徐小夕
转发链接:https://mp.weixin.qq.com/s/XHwOHf498t6ZNfDLiwZ6Xg
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【html制作网页案例代码(使用reveal)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
