Pure CSS menus are the elephant in the room

An elephant stepped into our midst on the day Eric Meyer brought us the first pure CSS menus prototype, and a steaming pile of manure was deposited with no Carny in site to shovel up the stinking heap left behind.

What I’m speaking of, is the overwhelmingly simple fact that there is no such thing as a cross-browser pure CSS menu. To Eric’s credit, he introduced us to a method for developing menus exceptionally less dependent on JavaScript. However, the myth continues to perpetrate the Web development community � “pure CSS menus are better because they don’t use JavaScript”. This is entirely false.

Any pure CSS menu you encounter will invariably use one of two primary methods to achieve cross-browser support: Internet Explorer’s proprietary HTML components (.htc) file, or, yes, you guessed it, JavaScript. Most every pure CSS menu that exists now is a horrid mix of hacks, conditionals and sickly amateur JavaScript. Unfortunately, the concept of achieving a pure CSS menu sent designers into a tizzy, and ever since we have been left with the Google aftermath.

Yet, with this truth still readily apparent, we get treated to iteration after iteration of pure CSS menus promising deliverance from JavaScript. Why exactly do we need to be delivered? It’s time to put this elephant to sleep. If there is anything to be learned from Dojo, Prototype, Mochikit, and YUI, it’s that JavaScript can be beautiful.

Leave a Comment

I'm sorry, but comments are now closed. If you have further questions or comments, please feel free to email them.

2 Comments

#01, Aug 15 2007

glen

I have to agree, so many of the ‘pure css’ approaches are mard by IE , with evil hacks just lurking around the corner. It seems as though the purests are happy to kick IE into touch, but in the real world most clients are using an IE browser as are most of their customers. Is it still around 75% ?

#02, Aug 15 2007

Brian

I think depending on who you talk with, it might hover around 80-85%.

Even though I posted this about a year ago, your comments still ring true. Although, some developers are getting better at not calling them “pure”, so I guess that is a step in the right direction :)