Information

If anyone asked me if it was possible to have a CSS only dropdown/flyout menu work using mouse clicks instead of mouse hovers, I have always answered no. But now with the latest developments and discoveries, and after six years of trying, I have found a way to do this.

The above menu, which is just a simple set of nested unordered lists, requires that you click on any of the top level items with arrows to open the dropdown sub menus and click on any further sub menu items with arrows to open the flyouts. The structure of the menu will be held open until you either click another parent level item with an arrow or move the mouse off the menu.

Because Internet Explorer is very 'buggy' with its support of :active and :focus combimed with the adjacent sibling selector (+) I have chosen to use TIME action for this browser. If anyone knows of a trigger that can be used to force 'a:active + ul' to be rendered without having to move the mouse off the link then please get in touch as this can then be used instead of TIME action.

So this, I believe, is the first CSS only menu on the web that uses click actions instead of hover and works in all the major browsers.

Tested and working in IE7, IE8, IE9, Firefox, Safari, Chrome and Opera.

5th April 2011

I have removed the TIME action scripting as this was too cumbersome (also a little buggy) and replaced this with a single line .htc file which corrects the IE bug. I have also coded and styled the menu to overcome a temporary bug in Chrome 10 where the adjacent sibling selector is not correctly styled.


Copyright

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 CSSplay' 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}cssplay.co.uk and again a donation to the 'Support CSSplay' 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}cssplay.co.uk 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.

Please Support CSS play

Please note that if your donation is for a demo/menu then you will need to email me with the url of the demo/menu after making the donation

For more CSS demonstrations I recommend that you visit the Dynamic Drive CSS Library.


Free, practical CSS menus, layouts, and examples

Follow CSS play


Facebook   Twitter   Facebook Fan Page