Hybrid CSS Dropdowns

by Eric Shepherd

110 Reader Comments

Back to the Article
  1. v1…

    Copy & paste the code below to embed this comment.
  2. its based on pixles, but even worse it cannot be zoomed. Thats just crap, nothing else.

    Dropdownmenus in general are a problem, better use asyncronic server connections (ajax) and refresh menus statically, if you mess around with javascript anyway.

    Copy & paste the code below to embed this comment.
  3. Sorry, but this menu isn’t working on IE 5.2 Mac. It is working in Safari.

    Copy & paste the code below to embed this comment.
  4. What if your menu is centered on a page?  How the heck are you supposed to position the sub-navs since this example is crippled by using actual pixels?

    Copy & paste the code below to embed this comment.
  5. “This technique is a bulletproof way to ensure browser compatibility and to maintain usability”.
    I believe the above sentance should be removed from the article; because IMHO this solution has serious issues:
    – poor browser support,
    – text is not scalable,
    – list items are not accessible in IE when JS is disabled,
    – and, AFAIK, tabbing navigation is not possible in any browser.

    Months ago, I have published a solution, trying to address each problem:
    http://www.tjkdesign.com/articles/dropdown/demo.asp

    Copy & paste the code below to embed this comment.
  6. I belive my own take on a pure css menu have better usability than this one. No javascript, just css (except for the virtual pagechange, just for the demo) Take a look at:

    http://derkert.com/ip3/menu/

    Copy & paste the code below to embed this comment.
  7. As a student I apreciate very much. Send more, please.

    Copy & paste the code below to embed this comment.
  8. I tried this and it works very well except the subnavi which disappers immediately when I move the cursor away from a tab. So I can’t access the subnavi at all! Do you have a solution for this? Thanks!

    Copy & paste the code below to embed this comment.
  9. I’m still searching for a CSS solution that is compatible accross all (most) OS platforms and browsers. I liked the look of your menu, but when I tried it on OS-X and IE, I get no menus at all!

    Mac OS 10.3.9 (Apple’s most current), and Internet Explorer for Rel. 5.2.3 (MS’s most current and final version)

    Anyone else have this problem?

    Copy & paste the code below to embed this comment.
  10. The example at http://www.alistapart.com/d/hybrid/hybrid-4.html doesn’t look good after I increased text size in Firefox (Ctrl++) several times.

    Copy & paste the code below to embed this comment.
  11. Your menu behaves badly in Firefox when I increase text size (Ctrl++). Menu items disappear, extraneous lines appear, etc..

    Copy & paste the code below to embed this comment.
  12. Hi Roman,
    Re: my menu (http://www.tjkdesign.com/articles/dropdown/demo.asp)
    AFAIK, it is possible to use “Ctrl+” three times in FireFox without breaking the layout; this corresponds to more than the “largest” text-size in MSIE.
    In any case, I believe it is much better than what the “Hybrid CSS Dropdowns” menu allows ;-)

    Copy & paste the code below to embed this comment.
  13. Probably one of the best css solutions I have seen yet.  I love ALA!

    Copy & paste the code below to embed this comment.
  14. The problem with CSS menus is that navigation is very important and problems with like the flashing effect, cross-browser issues, etc. make it less than ideal.

    Another problem I have with CSS only menus is that it tries to do behaviour in CSS for which CSS was not designed. CSS should IMO be presentation only.

    Also with XHTML markup, CSS styled but Javascript powered navigation you can do some eye candy like the menus I did for my MXR CMS product. see http://mxdemo.infireal.com/ (P.S: the markup is terrible, its on the todo list)
    The menu does a roll-up and fade out effect.

    Copy & paste the code below to embed this comment.
  15. I’m having a problem implementing a list in FireFox.  When I added the style info into my stylesheet, all of a sudden FireFox stopped recognizing all of the stylesheet from that point down.  I can’t figure out what’s causing this problem.  IE can still parse the entire stylesheet, displaying the list properly.  (The list is taken from the ALA 2002 article Taming Lists by the way.)

    Any suggestions?  Thanks!

    Copy & paste the code below to embed this comment.
  16. I was just checking out the linked examples and they look fine in Safari, but totally not working in Explorer??

    Copy & paste the code below to embed this comment.
  17. Sorry for a little off-topic, but I’m struggling with one thing, which maybe you know how to solve

    I want a very simple horizontal menu, based on list

    I’ve done it, but I wanted it to have a custom bullet, so I used list-style: url(/image.gif); in the ul style declaration

    it appeared ok in mozilla, but there is NO image neither in opera nor IE.

    well, if I change the image to just ‘circle’ or ‘square’ it does not appear in those browsers anyway

    Is it possible to to have bullets (custom too) in horizontal menu based on ul ?
    it’s easy to make it in vertical on, but I have not found any example of such menu turned to horizontal…

    thanks

    Copy & paste the code below to embed this comment.
  18. I am in the process of setting this up and I can’t get it to center on the page like the rest of my page does. I have a container div around my whole page with margin-left and margin-right set to auto, but the secondary nav is always left aligned. Anyone know a remedy?

    Copy & paste the code below to embed this comment.
  19. I like this example… :)  what is to say..

    Copy & paste the code below to embed this comment.
  20. I was working several mothes ago on a similar NAV on a client site http://www.cfatb.com/ using extensively the sluckerfish inspiration.

    I enhanced it to fit our requisites and it seems that it works good on many major browsers. Of course the CSS is free to use as well as the HTML code itself. I think I made some mistakes but it works pretty well.

    Copy & paste the code below to embed this comment.