I have had many emails asking how to style a responsive multi-level menu that has a horizontal format on widescreen PCs with hovers to open the sub menus and a slide-in format with 'clicks/taps' to open and close the sub menus when viewed on tablets and smartphones.

Well this demonstration shows one way in which this can be done, and probably the easiest way.

This demonstration uses two menus and two sets of styles so that the horizontal multi-level menu is shown on devices with a width greater than 1024px and the slide-in menu is shown on tablets and smartphones.

In this way it is possible to have the horizontal menu work in all the latest browsers including IE7+ and the slide-in menu work on all touch screen devices, as well as PCs when the browser window is resized to be less than 1024px.

The horizontal menu can have the flyouts to the left or right so that the sub menus stay on screen.

When the slide-in menu is visible you can 'click/tap' the link text to go to that page, or 'click/tap' the three bar ican to the right of the link text to open that sub menu.

When a sub menu list is shown you can 'click/tap' the three bar icon at the top of the sub list to return to the previous parent list.

To close the slide-in menu just 'click/tap' the three bar green icon at the top left of all the sub menus and top level list.

If the menu items are longer than the screen height then vertical scrolling will be enabled to allow you to reach all the menu items.

The slide-in menu animation is visible in all the latest browsers.

It is also possible to make this work with just one menu but the styling is much more complex and will be the subject of a future menu.


Because of all the time and effort spent in producing this demonstration
I would ask that you respect my copyright.

  1. If you are using this on a personal web site then please retain the copyright comment in the stylesheet.
    A donation to the 'Support CSS play' fund is now required for this demonstration.
  2. If you are using this on a commercial web site, or as a paying job for a client, then please email me asking for permission - stu{at} and again a donation to the 'Support CSS play ' fund is required.
  3. If you are having problems integrating any of my demonstrations into your website then I now offer a service to fault find and correct any errors that you may have introduced. Please email me for more information.

Terms and Conditions

This demonstration can be used subject to the following terms and conditions.

  1. If you wish to use this demonstration in your website(s) please email me stu{at} seeking permission.
  2. You may NOT place this demonstration on another site for others to download.
  3. You may NOT redistrubute or resell this demonstration.
  4. Users agree not to remove or edit the credit notice within the stylesheet, or claim that this demonstration is their own.
  5. Please see the Copyright statement above regarding the requirement for a support donation.

© Stu Nicholls - CSS play - All rights reserved