Rollover CSS Image Menu

August 14th, 2006, Published in CSS, 5,399 Views, Email This Email This

CSS Rollover Image Menu

There are now loads of places on the Internet where one can access free CSS menu's. But of the many that are available very few suceed in replicating the prehistoric roll-over image menu using javascript image replacement techniques, with only lovely CSS. I have managed to create one that works in both decent web browsers and crap ones (Internet Explorer), check it out.

First I needed to remove all padding and margins from the page:

* { padding: 0em; margin: 0em; }

Then the CSS for the #nav container div:

#nav img { border: none; }
#nav li { display: inline; list-style:none; }
#nav li a { float: left; display:block; width: 37px; height: 50px; margin: 5%; }
#nav li a img {  border:none; vertical-align:bottom; /* for IE6 */}
#nav li a:hover { visibility:visible; /* for IE6 */ }
#nav li a:hover img { visibility:visible; /* for IE6 */ }
#nav li a:hover img/**/ { visibility:hidden; /* hide from IE5.0/win */}

Internet Explorer requires something to happen on a:hover as well as a:hover img.

The menu list items all use different images on rollover so I defined each with a different ID on the anchor element:

#one { background:url(http://www.alanwho.com/examples/css/rollover_menu/1over.png) no-repeat left bottom; }
#two { background:url(http://www.alanwho.com/examples/css/rollover_menu/2over.png) no-repeat left bottom; }
#three { background:url(http://www.alanwho.com/examples/css/rollover_menu/3over.png) no-repeat left bottom; }
#four { background:url(http://www.alanwho.com/examples/css/rollover_menu/4over.png) no-repeat left bottom; }

Lastly I created a div with an id of nav and applied the CSS into the final XHTML:

The Final Rollover CSS Image Menu XHTML.

<< 7 CSS XHTML 1.1 Layouts

5 comments so far

  1. Gravatar 1 Anthony
    1:34 am - 2-16-2007

    Great! But what if the buttom widths are different?

  2. Gravatar 2 Anthony
    1:54 am - 2-16-2007

    Disregard my previous question. I modified the code to get the desired result. Thanks!

  3. Gravatar 3 Ivan
    9:00 pm - 4-9-2007

    Brilliant! It’s so simple. This is exactly what I was looking for!

  4. Gravatar 4 AlanWho
    12:43 pm - 7-10-2007


    Brilliant! It’s so simple. This is exactly what I was looking for!

    No problem Ivan. I am glad you found what you were looking for …

  5. Gravatar 5 crayonsng
    11:20 am - 7-18-2008

    wow! thanks man was searching just this type of approach.. you saves us!

    thanks again
    Crayons

Leave a Reply

Your Details

Your Comment