Sidy.js is an off-, on- canvas navigation panels using CSS transforms & transitions. This project was inspired by the SidebarTransitions project seen on SidebarTransitions
- 3.3KB minified and Gzipped -An open-source project by Reactive Design Studio
Features
- Uses CSS3 transforms & transitions
- Smooth performance on mobile devices
- Custom settings for panels: position, size, effect
- an API for custom open and close panel control
- Panel closes when the site overlay is selected
Requirements
Installation
Please use which ever is most comfortable:
- Download ZIP
git clone github.com/reactivestudio/Sidy.js.git
bower install sidy.js
Once you’ve got dist/sidy.js
and dist/sidy.css
into your project’s JavaScript and CSS directories, let’s instantiate it!
<!DOCTYPE html> <html> <head> <link rel='stylesheet' type='text/css' href='css/sidy.css'/> </head> <body> <div class="sidy"> <div class="sidy__content"> <!-- All your stuff up here... --> </div> </div> <script src='/js/sidy.js'></script> </body> </html>
Basic Usage
How does it work? Just add <nav id='your-panel-id'></nav>
above the div.sidy__content
and add .sidy--to-open
, .sidy--to-close
classes to an opening and closing elements. Also you need to add .sidy__panel
class and data-panel='your-panel-id'
to openning element. That's all.
<body> <div class="sidy"> <nav class='sidy__panel' id='your-panel-id'> <!-- All your panel stuff up here... --> </nav> <div class="sidy__content"> <!-- All your content/viewport stuff up here... --> <button data-panel="your-panel-id" class="sidy--to-open">Open me</button> </div> </div> <script src='/js/sidy.js'></script> </body>
Panel Settings
You can use custom settings for panels
- Position: left, top, right
- Size: px, %, 'auto'
- Effects: slide_overlay, reveal, push, slide_along, slide_reverse, scale_down, scale_up
<nav data-position="left" data-size='300px' data-fx="slide_overlay" class='sidy__panel' id='foo'> Foo </nav> <nav data-position="top" data-size='30%' data-fx="push" class='sidy__panel' id='bar'> Bar </nav> <nav data-position="right" data-size='auto' data-fx="reveal" class='sidy__panel' id='baz'> Baz </nav>