Off-Canvas Menu Effects

Some inspiration for off-canvas menu effects and styles using CSS transitions and SVG path animations.

Off-Canvas Menu Effects

From our sponsor: From online stores to member areas, Squarespace is everything you need to sell anything.

Today we’d like to share a couple of styles and effects for off-canvas menus. The off-canvas sidebar is widely used and we have already created some effect inspiration before. Like with everything, style evolves and today we want to show a new set of modern effects for your inspiration. Different layouts and synced transitions of the menu and the page can make everything look more interesting and we can make use of the available space for side-menus and controls. SVG allows us to play with organic shapes and add some unexpected and stylish moves to a design.

We use CSS transitions, CSS animations created with bounce.js and animated SVGs with the help of Snap.svg. We also use Font Awesome and the profile picture is from the Random User Generator.

Please note that the effects serve as inspiration and will work (best) in modern browsers.

Let’s take a look at some of the styles.

This first demo is inspired by the Dribbble shot Old Designspiration Menu Concept One by Michael Martinho.

The idea behind the corner box effect is to translate an off-canvas box into the viewport while moving the content to the opposite corner, too, creating a window-like effect.

Following the simple corner box, we can think of another “layer” that will move on top of the previous box and that will make the content translate another “step”.

This menu expands from the menu button itself, taking up a space that was revealed by pushing down the content of the page. You might have seen this effect on a sidebar in one of our Morphing Buttons demos.

This menu is not an off-canvas one, but more like an expanding box with a content overlay. Here we use a jelly-like animation created with bounce.js.

This demo is using Snap.svg for animating SVG paths. Using a combination of a morphing wave with delayed menu item appearances, an organic feel is created.

We hope you enjoyed the effects and get inspired!

Tagged with:

Stay up to date with the latest web design and development news and relevant updates from Codrops.

Feedback 90

Comments are closed.
  1. Nice examples as usual – although I’m not a fan of the nested example pushing the main body over. Bit of an unnecessary indulgence!!

  2. As always, sleek!
    PS: Corner Morph, Wave have no visual menu icon to click on. I can see the dark footer bar… but not the trigger?! (Safari 6.1.x)

  3. These are definitely cool – I like the Corner Morph especially!

    My only critique – having the closing button in a very different location from the opening button doesn’t seem ideal – I’d rather be able to close the menu with my cursor in the same place. It’s a small thing that doesn’t make these any less cool otherwise!

  4. Elastic effect is the coolest one. I’m gonna try to do it without svg (border-radius). Wish me luck 😀

  5. Awesome work guys, as usual. A lot of UX consideration going into these posts, ini’t. +1 🙂

  6. Cool. Did you change something? Now, CornerMorph + Wave are working fine in Safari6.1.x 🙂

  7. You are able to surprise me every time, and I always try to take as much as possible from you. Thanks for your effort!

  8. These are great! Is there a simple solution to have ‘side slide’ slide in from the right as opposed to the left?

    • Trying the same with no effort, can’t find the code to change direction // Have you found the solution?

      AWESOME Tutorial as always Mary Lou! Thanks & cheers (:

  9. Love that stuff 🙂 I added a custom CSS lightbox and when It opens, the menu should close.. can somebody pleaaase help me?
    <a href=”mycourse.php#settings onClick:toggleMenu()” rel=”nofollow”> i thought that this should do it but it didnt 🙁 #settings is the id for opening the lightbox!

    • sorry forgot that a href works 😉

      a href=”mycourse.php#settings onClick:toggleMenu() .. so the id settings is for opening the lightbox but then the nav should close!

  10. Hi
    How do I enter the menu on the right and change the direction of ‘internal animation?

  11. Its Working In Internet Explorer If I View Demo From Codrop But When I Download and view in internet explorer It does’nt work. Please Help

  12. Really inspirational but what if i want to use in working website, might be difficult to make mobile compatible!

  13. Hi, great article and demos! I used and tweaked one of your demos on my website (top expand example). I’ve noticed in demos that the page scrolls right back to the top of the page, after refresh. I see you’re using overflow-y: scroll; for .content-wrap… I tried few ways of fixing, so the page stays at the same point after refresh, but nothing works. Do you have any ideas for a quick fix? I don’t want to use JS for this. Thank you!

  14. Hi there, it looks awesome, exactly what i was looking for 🙂

    I encountered a few problems though, hopefully someone can help me out. Bear with me, i’m still learning css 😉

    1. I would like to have a centered div where I put the contents of the website (1200px for example) (div class ‘content’ in demo) but then the overlay is only working on that div. I want it to cover everything but the menu itself and a fixed header.

    2. I added a jquery plugin ( because my menu is pretty long and on a phone you would have to scroll, but somehow it messes up everything. I noticed I could scroll the content itself but saw no scrollbar. I tried several things but I couldn’t work it out.

    3. I couldn’t get the ‘x’ (to close) to hover in a certain color.

    Thanks in advance!