reveal.js是一个能够帮助我们很轻易地使用HTML来创建漂亮的演示效果,也就是我们常见的PPT幻灯片。reveal.js不依赖其他任何javascript库,是一个独立的javascript插件库。它提供了多种幻灯片过渡效果,是一个非常棒的在线演示库。

reveal.js还拥有许多高级特性,完整安装,某些 reveal.js 的功能,像外部的Markdown和演讲注释,需要演示文稿运行在本地的一个web服务器上,因此需要在nodejs环境下运行,安装node.js以及grunt,稍微比较复杂。本文采用简单安装,结合本站实例,使用reveal.js实现演示文稿的功能。

HTML

我们先引入主要的CSS文件以及js文件。CSS文件要在head内就载入,而reveal.js可以在</body>>前载入。

<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/moon.css">
<script src="js/reveal.js"></script>

HTML标记的层次结构需要是 .reveal > .slides > section 这样的,<section> 代表一个幻灯片并且能够被无限地重复。如果我们将多个 <section> 放到另一个 <section>的内部,它们将会以垂直幻灯片的方式显示。<section>内部可以是文本、图片、多媒体等任意HTML内容。例如:

<div class="reveal">
<div class="slides">
<section>slide1</section>
<section>slide2</section>
</div>
</div>

Javascript

在页面最后,我们需要运行下面的代码来初始化幻灯片。注意,所有的配置的值都是可选的,下面展示的都是默认值:

<script>
Reveal.initialize({
// 是否在右下角展示控制条
controls: true,
// 是否显示演示的进度条
progress: true,
// 是否显示当前幻灯片的页数
slideNumber: 'c/t'
});
</script>

以上代码实现了可以允许右下角的控制条控制切换展示幻灯片、并显示演示幻灯片的进度条,以及显示幻灯片的页码。

选项设置

参数 描述 默认值
controls 是否在右下角展示控制条 true
progress 是否显示演示的进度条 true
slideNumber 是否显示当前幻灯片的页数编号,也可以使用代码slideNumber: 'c / t' ,表示当前页/总页数。 false
history 是否将每个幻灯片改变加入到浏览器的历史记录中去 false
keyboard 是否启用键盘快捷键来导航 true
overview 是否启用幻灯片的概览模式,可使用"Esc"或"o"键来切换概览模式 true
center 是否将幻灯片垂直居中 true
touch 是否在触屏设备上启用触摸滑动切换 true
loop 是否循环演示 false
rtl 是否将演示的方向变成RTL,即从右往左 false
fragments 全局开启和关闭碎片。 true
autoSlide 两个幻灯片之间自动切换的时间间隔(毫秒),当设置成 0 的时候则禁止自动切换,该值可以被幻灯片上的 ` data-autoslide` 属性覆盖 0
transition 切换过渡效果,有none/fade/slide/convex/concave/zoom 'default'
transitionSpeed 过渡速度,default/fast/slow 'default'
mouseWheel 是否启用通过鼠标滚轮来切换幻灯片 true

此外,reveal.js还提供了全屏模式,只需要在键盘上点击 »F« 按键即可进入全屏模式,点击 »ESC« 按键可退出全屏模式。

reveal.js还有一个片段概念,片段被用来在一个幻灯片中来突出显示单独的一个元素。每一个带有 fragment 样式的元素将会在切换到下一个幻灯片之前被走过。默认的片段样式是开始不可见,然后淡入,我们可以将同一张幻灯片里的多个段落分作多个片段,并给他们加上.fragment样式即可,就像DEMO演示中的:

<section>
<h2>幻灯片切换方式</h2>
<p class="fragment">右下角控制条控制切换</p>
<p class="fragment">可以使用键盘方向键操作</p>
<p class="fragment">可以设置使用鼠标滚轮切换</p>
<p class="fragment">移动端滑动切换</p>
</section>

关于幻灯片切换效果,是通过transition配置值来设定的。我们也可以通过指定data-transition属性来重写全局配置。例如:

<section data-transition="zoom">
<h2>This slide will override the presentation transition and zoom!</h2>
</section>

还有一个问题,如何设置幻灯片背景?幻灯片包含在幕的一个有限区域中,默认情况下,允许它们适应任何视口和缩放一致性。你可以通过给你的<section>元素添加一个data-background属性来在幻灯片之外添加整个页面的背景。支持四种类型的背景:color, image, video和iframe。

reveal.js项目Github地址:https://github.com/hakimel/reveal.js

Reveal.js一个用来做WEB演示文稿的框架的更多相关文章

  1. reveal.js让程序员做ppt也享受快乐

    前言 程序员除了会写的一手漂亮的代码,也要求做出风格优雅的PPT,诸如向领导汇报工作.向小组成员反馈项目进展自己的工作等等.就本人而言,做ppt还要去找模板,还需要设计风格,内心是焦灼的.于是乎,我搜 ...

  2. PHP做Web开发的MVC框架(Smarty使用说明 )

    PHP做Web开发的MVC框架(Smarty使用说明 ) 一.Smarty简明教程 1.安装演示 下载最新版本的Smarty-3.1.12,然后解压下载的文件.接下来演示Smarty自带的demo例子 ...

  3. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手.     概念 最近有个词儿很流行,叫做“全栈”(full stack ...

  4. 10个最佳 Javascript+HTML5 演示文稿框架

    JavaScript 与 HTML5 框架在创建基于现代浏览器的演示文稿时发挥了重要作用.他们把展示插入网页,为演示信息提供了一个有效方式.一般来说,手工插入花费大量事件和精力,它很复杂,以至于新手们 ...

  5. 基于docker+reveal.js搭建一个属于自己的在线ppt网站

    前言 最近热衷于Docker,由于这段时间使用Docker来折腾自己的服务器,越来越感觉这是一种及其被应该推广的技术,因此想在公司内部也做一次技术分享.当然,如果只是做的PPT,我就不写这文章了.既然 ...

  6. 【移动端debug-6】如何做一个App里的web调试小工具

    原文链接:如何做一个App里的web调试小工具 我们知道现在hybrid app非常流行,在这样的app里,h5页面是应用非常广泛的.相对于以往在pc端开发的网页,放在app里的网页由于无法直接使用桌 ...

  7. Node.js结合Selenium做Web自动化测试

    发现腾讯课堂上有个node.js结合Selenium做Web自动化测试的教学视频, 听来感觉不错,一来老师讲的还不错,二来node.js这门语言会越来越热,学会总没什么坏处,三来发现CukeTest这 ...

  8. Vue.js 入门:从零开始做一个极简 To-Do 应用

    Vue.js 入门:从零开始做一个极简 To-Do 应用 写作时间:2019-12-10版本信息:Vue.js 2.6.10官网文档:https://cn.vuejs.org/ 前言  学习 Vue ...

  9. 基于CSS的幻灯片工具 reveal.js

    官网:http://lab.hakim.se/reveal-js/#/ github  https://github.com/hakimel/reveal.js 更多资源:6个最好的 HTML5/CS ...

随机推荐

  1. c语言提高第二天

    一.指针强化1.指针也是一种数据类型,指针变量也是一种变量,和int a本质是一样的 1)指针变量也是一种变量,也有空间,32位程序大小为4个字节 int *p = 0x1122; 2)*操作符,*相 ...

  2. mysql-笔记-命名、索引规范

    1 命名规范 所有数据库对象名称必须使用小写字母并用下划线分割 禁止使用mysql保留关键字 ---如果表名中包含关键字查询时,需要将其有单引号括起来 见名识意,并且最后不要超过32个字符 临时库表以 ...

  3. PyCharm专业版的安装与破解

    1.下载pycharm:https://www.jetbrains.com/pycharm/download/#section=windows 2.这是下载好的文件,双击运行即可 3.选择安装路径 4 ...

  4. Python——日志模块(logging)

    一.日志说明 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地 ...

  5. Ubuntu 16.04安装MySQL(5.7.18)

    此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 安装MySQL前需要做如下了解: 1.MySQL各类型版本的区别,参考:http://ww ...

  6. photoshop编辑pdf文件

    对于PDF文件透明背景的问题 PDF文件背景是透明的,如何使其变成白色 怎样通过photoshop打开多页PDF,编辑后仍保存为多页 注意shift全选,"页面选项"处的'裁剪到' ...

  7. 彻底理解cookie,session,token

    发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应,  尤其是我不用 ...

  8. Springboot 3.需求携带参数的get请求

    还是拿来上节讲的代码: package com.course.server; import org.springframework.web.bind.annotation.*; import java ...

  9. 神经网络3_M-P模型

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...

  10. windows下使用curl命令 && 常用curl命令

    什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在windo ...