On this page (upper right corner) and on the mobile version of my main website I have a little mobile/pop-out menu that doesn't use any JavaScript instead opting for a clever use of CSS to get it to do what I want.
Below is the code which is slightly different than the version on this page, but I tried to keep it as simple as possible. So positioning and sizing things may need to be reworked if you decide to use this for your own website.
The whole idea here is using a checkbox, div, a couple images, and some transformations. Set the checkbox and div to the same dimensions, make the checkbox transparent, set a background to the div behind it, and use the sibling select (~) to control things. I've left semi-detailed comments with each piece of CSS.