• # July 20, 2012 at 9:51 pm

    Have you ever used Facebook’s mobile site or app? The app sports a cool scrollable menu that slides out from the left. For mobile versions of sites, this is a fantastic way to deal with your navigation menu so you don’t take up valuable space with nav links! I’ve created a working version of that type of layout, and I decided to see if anyone wants to help collaborate on it. More information is provided in my repo –

    Live Demo: EDIT – next comment.

    -Based off of Checkbox Hack
    -Meant for mobile
    -Works in major browsers (except IE, but I’m designing for mobile, so this doesn’t concern me TOO much)
    -Tested on Android browser and Chrome on Android, and works moderately well in both (if you zoom, Chrome freaks out a little bit)
    -Collaboration welcome!

    # July 20, 2012 at 11:28 pm

    Embedded JSFiddle Result –
    JSFiddle Code –

    # July 21, 2012 at 8:29 am

    That looks very nifty! Nicely done, gonna fork that one :)!

    # July 21, 2012 at 11:38 am

    Fantastic! Definitely feel free to brainstorm with me as to how to make it better. I added a request/suggestion tag in issues, so we can talk about improvements in functionality and cross-compatibility.

    # July 23, 2012 at 6:42 pm

    Current version.

    Special thanks to @vermaas for forking the repository and helping out! Still a few bugs, but we’re working on making this stable across all mobile browsers (harder than it sounds). If you’d like to help out, repository is here.

    # December 27, 2012 at 1:09 pm

    I’m going to try this out!

    I’ll let you know what I come up with and show you the website once it’s live.

    # December 28, 2012 at 1:31 pm

    I looked at your demo (not your code yet) but it reminded me of something I was tinkering with a while ago on codepen.

    []( “Mobile Menu”)

    Not sure if it is helpful or not but I hope so. We might even have a similar approach

    # December 28, 2012 at 1:36 pm

    I actually just went and looked back at how you used the label checking the checkbox for the action and that is pretty slick. In mine i used :hover/:target/:active to try to get cross browser stuff in play.

    # December 28, 2012 at 1:59 pm

    I forgot you can also see it in action in its first form [here]( “I-cart”)

    On desktop browsers it is certainly not ideal currently. It works better on mobile at the moment

    # December 28, 2012 at 2:08 pm

    @ChrisP, that’s slick! I’ll implement that into my version on Github. I’m still trying to find a way to be able to make the `#page` panel unscrollable when the navigation menu is out. Thoughts?

    # December 28, 2012 at 2:24 pm

    @bkbillma I thought about using :hover/:target/:active to make this work, but I forget why I ultimately decided to go a different direction. Obviously, I don’t like the idea of building a complete navigational structure off of a hack, but CSS offers very little opportunities to store state information.

    Which part of the website demonstrates your version? I couldn’t find it.

    Obviously, this entire thing would work much simpler with Javascript, but CSS-only is fun and challenging – plus it hasn’t been done yet. This is more of an exercise to see how we can leverage CSS to do many of the things people just appropriate to JS, which (in certain instances) negatively affects page loading times. I usually only use JS to make things pretty, but rely on HTML and CSS for functionality (although, again, this is a hack and not really best practice).

    # December 28, 2012 at 3:03 pm

    @paintballer89 if you size your browser down to <400px or if you are on a small screen you will see the menu link in the top right. I even did this with :before in the 400px media querie and hook everything off of that.

    # January 4, 2013 at 2:46 pm

    @ChrisP those are the same issues I’ve been struggling with for awhile. Fixed positioning and overflowing out of the window will definitely create some problems on different browsers, and will cause you to be sent right back to the top when the menu is collapsed.

    # January 4, 2013 at 2:56 pm

    @bkbillma I just got a chance to look at the site under 400px on both a laptop and my phone. I see what you’ve done, but there are obvious drawbacks.


    • Menu is only visible when the mouse button is held down, as soon as it’s released, the menu disappears. This makes it impossible to use the mobile version of the menu on desktop.
    • Does not respect scrolling, will jump up to a little lower than the top when the menu button is clicked.


    • Menu doesn’t pull out far enough, text is cut off.
    • Can still scroll when menu is extended.
    • Only way to collapse the menu is to click on one of the menu items.
    • Does not respect the user’s scrolling. Resets to top.

    A lot of these reasons are why I stayed away from the :target pseudo-class. Again, this is more of a proof of concept than something on which I would reliably base a business’s website.

    # January 4, 2013 at 3:08 pm

    @Koopa absolutely! IE is the bane of every web developer, but that’s what Modernizr is for. If the browser doesn’t support transitions, have it load some JS as a fallback to make it pretty.

Viewing 15 posts - 1 through 15 (of 17 total)

You must be logged in to reply to this topic.