A CSS 3D slideshow tool for quickly creating good looking HTML presentations. Doesn't rely on any external libraries but highlight.js is included by default for code highlighting.
Note that this requires a browser with support for CSS 3D transforms and classList
. If CSS 3D support is not detected, the presentation will degrade to less exciting 2D transitions. You could also use a polyfill for classList
to make this work in < iOS 5 and < Safari 5.1, here's one from @remy.
Curious about how this looks in action? Check out the demo page.
- http://lab.hakim.se/reveal-js/ (original)
- http://www.ideapolisagency.com/ from @achrafkassioui
- http://lucienfrelin.com/ from @lucienfrelin
- http://creatorrr.github.com/ThePoet/
- http://moduscreate.com/ @ModusCreate
Send me a link if you used reveal.js for a project or presentation.
Markup heirarchy needs to be <div id="reveal"> <div class="slides"> <section>
where the <section>
represents one slide and can be repeated indefinitely. If you place multiple <section>
's inside of another <section>
they will be shown as vertical slides.
At the end of your page, after <script src="js/reveal.js"></script>
, you need to initialize reveal. Note that all config values are optional.
Reveal.initialize({
// Display controls in the bottom right corner
controls: true,
// Display a presentation progress bar
progress: true,
// If true; each slide will be pushed to the browser history
history: true,
// Flags if mouse wheel navigation should be enabled
mouseWheel: true,
// Apply a 3D roll to links on hover
rollingLinks: true,
// UI style
theme: 'default', // default/neon
// Transition style
transition: 'default' // default/cube/page/concave/linear(2d)
});
- Big changes to DOM structure:
- Previous #main wrapper is now called #reveal
- Slides were moved one level deeper, into #reveal .slides
- Controls and progress bar were moved into #reveal
- CSS is now much more explicit, rooted at #reveal, to prevent conflicts
- Config option for disabling updates to URL, defaults to true
- Anchors with image children no longer rotate in 3D on hover
- Support for mouse wheel navigation (naugtur)
- Added an optional presentation progress bar
- Images wrapped in anchors no longer unexpectedly flip in 3D
- Slides that contain other slides are given the 'stack' class
- Added 'transition' option for specifying transition styles
- Added 'theme' option for specifying UI styles
- New transitions: 'box' & 'page'
- New theme: 'neon'
- New and improved style
- Added controls in bottom right which indicate where you can navigate
- Reveal views in iteratively by giving them the .fragment class
- Code sample syntax highlighting thanks to highlight.js
- Initialization options (toggling controls, toggling rolling links, transition theme)
- Added licensing terms
- Fixed broken links on touch devices
- Refactored code and added inline documentation
- Slides now have unique URL's
- A basic API to invoke navigation was added
- First release
- Transitions and a white theme
MIT licensed
Copyright (C) 2011 Hakim El Hattab, http://hakim.se