impress.js 创建演示文档

概述

impress.js是一个基于CSS3和现代浏览器,受Prezi.com的启发而创作出来的前端多功能演示js框架,可以用它来替代PowerPoint制作更加酷炫的PPT,如果你是一位前端开发者或者勉强了解HTML和CSS,都能很快上手。这是一个官方Demo,效果不错吧。

impress.js 是基于 webkit 浏览器(Chrome、Safari)开发,在其它基于非 webkit 引擎,但支持 CSS3 3D 的浏览器也能正常运行。

impress.js源码已经发布在GitHub上,地址:https://github.com/impress/impress.js

配置

引入impress.js文件并初始化

<script type="text/javascript" src="impress.js"></script>
<script>impress().init();</script>

根结点

impress.js需要一个id为impress的根元素,演示文档的所有内容都包含在该元素中。

<div id="impress"></div>

步骤结点

步骤元素包含将在屏幕中呈现的内容,是演示文档的基本单元,相当于一张幻灯片,每个步骤元素包含名为step的class

<div class="step">
    <q>这是第一张页面</q>
</div>

在该元素中可以定义各种精彩呈现效果的属性,用来表示页面以怎样的方式出现到屏幕中央。

data-x = 幻灯片x坐标
data-y = 幻灯片y坐标
data-scale = 缩放比例
data-rotate = 平面旋转角度
data-rotate-x = x轴旋转角度(3D)
data-rotate-y = y轴旋转角度(3D)
data-rotate-z = z轴旋转角度(3D)

现在你已经了解了基本的动画属性,可以大胆发挥你的创意创建令人惊奇的幻灯片效果。

CSS class

  • future
.future {
   display:none;
}

该类添加在还未展示的步骤结点,当该元素被导航时会自动删除future类,显示页面。

  • present
    该类会被自动添加到目前位于屏幕中央的步骤结点,这对幻灯片展示时的动画效果非常有用。
.present .rotating {
  transform: rotate(-10deg);
  transition-delay: 0.25s;
}
  • past
.past {
   display:none;
}

该类会在步骤元素被导航过后自动添加。

  • active
    该类会被自动添加到当前的步骤元素,与presentclass类似
.step {
  opacity: 0.3;
  transition: opacity 1s;
}
.step.active {
  opacity: 1
}
  • impress-on-*
    用于定义每个步骤结点的样式,步骤结点的id可以在URL中看到,如#/step-1,例如:
.impress-on-overview .step {
    opacity: 1;
    cursor: pointer;
}
.impress-on-step-1,
.impress-on-step-2,
.impress-on-step-3 {
  background: LightBlue;
}

JavaScript

  • impress([id])
    一个用于创建ImpressAPI的工厂方法,可以自定义根结点,然后调用该方法进行初始化:
var impressAPI = impress( "root" );
  • impress().init()
    初始化impress

  • next()
    导航到下一页

var api = impress();
api.init();
api.next();
  • prev()
    导航到上一页
var api = impress();
api.init();
api.prev();
  • goto( stepIndex | stepElementId | stepElement, [ duration ] )
    导航到特定页面
var api = impress();
api.init();
api.goto(7);    //Number ID
api.goto( "overview" );     //String ID

var overview = document.getElementById( "overview" );
api.goto( overview );   //HTMLElement

总结

impress.js可以让我们的演示文稿更有新意,结合CSS/JS动画,自己掌控视觉效果,比PowerPoint更加灵活精美,但是会复杂一些,如果想把演示文稿排版得更加好看,还是需要花费一定得时间和精力的。

下面是一些Demo以及在线impress制作工具:
Imprezi
Strut - An HTML5 Presentation Editor
HTML5 Future : to infinity and beyond!
WordPress 201: Performance & Security
The Revolutionary CSS3: a non-technical intro to CSS3

本文为作者kMacro原创,转载请注明来源:http://www.jianshu.com/p/f6c13312e9fd

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容