- Notifications
You must be signed in to change notification settings - Fork0
It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.
martakostova/impress.js
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
It's a presentation framework based on the power of CSS3 transforms andtransitions in modern browsers and inspired by the idea behind prezi.com.
WARNING
impress.js may not help you if you have nothing interesting to say ;)
impress.js name in courtesy of @skuzniak (http://twitter.com/skuzniak/status/143627215165333504).
It's an (un)fortunate coincidence that a Open/LibreOffice presentation tool is called Impress ;)
impress.js demo: [http://bartaz.github.com/impress.js]
If you have used impress.js in your presentation and would like to have it listed here,please contact me via GitHub or send me a pull request to updatedREADME.md
file.
Currently impress.js works fine in latest Chrome/Chromium browser, Safari 5.1 and Firefox 10(to be released in January 2012). IE10 support is currently unknown, so let's assume it doesn'twork there. It also doesn't work in Opera.
As it was not developed with mobile browsers in mind, it currently doesn't work onany mobile devices, including tablets.
Additionally for the animations to run smoothly it's required to have hardwareacceleration support in your browser. This depends on the browser, your operatingsystem and even kind of graphic hardware you have in your machine.
For browsers not supporting CSS3 3D transforms impress.js addsimpress-not-supported
class on#impress
element, so fallback styles can be applied to make all the content accessible.
Let's put this straight -- wide browser support was (and is) not on top of my priority list forimpress.js. It's built on top of fresh technologies that just start to appear in the browsersand I'd like to rather look forward and develop for the future than being slowed down by the past.
But it's not "hard-coded" for any particular browser or engine. If any browser in future willsupport features required to run impress.js, it will just begin to work there without changes inthe code.
From technical point of view all the positioning of presentation elements in 3D requires CSS 3Dtransforms support. Transitions between presentation steps are based on CSS transitions.So these two features are required by impress.js to display presentation correctly.
Unfortunately the support for CSS 3D transforms and transitions is not enough for animations torun smoothly. If the browser doesn't support hardware acceleration or the graphic card is notgood enough the transitions will be laggy.
Additionally the code of impress.js relies on APIs proposed in HTML5 specification, includingclassList
anddataset
APIs. If they are not available in the browser, impress.js will not work.
Fortunately, as these are JavaScript APIs there are polyfill libraries that patch older browserswith these APIs.
For example IE10 is said to support CSS 3D transforms and transitions, but it doesn't haveclassList
notdataset
APIs implemented at the moment. So including polyfill librariesshould help IE10with running impress.js.
Mobile browsers are currently not supported. Even iOS and Android browsers that supportCSS 3D transforms are forced into fallback view at this point.
Anyway, I'm really curious to see how modern mobile devices such as iPhone or iPad canhandle such animations, so future mobile support is considered.
iOS supportsclassList
anddataset
APIs starting with version 5, so iOS 4.X and older is notlikely to be supported (without polyfill code).
Copyright 2011 Bartek Szopka. Released under MIT License.