It is assumed, for this menu to work properly without a hardcoded width, that the <div> containing this slide menu will be enclosed in a table, causing it to be 'shrinkwrapped' to fit the content. The reason for this is that CSS2 has no way of centring a 'shrinkwrapped' <div> (which I consider to be a serious missing feature). This causes the 'root' menu to be 'shrinkwrapped'; the submenus, having been plucked from the root menu and floated, will be shrinkwrapped automatically.

Of course, you can still set a hardcoded width for the main menu if you so desire by changing the 'width' attribute for the 'slide_menu' class. Likewise you can set a hardcoded width for all submenus by changing the 'width' attribute for the 'slide_menu_submenu' class.

The table containing the menu can be floated or non-floated; just make sure you DON'T specify its width, and it will shrinkwrap the menu!

This menu has been tested in the following browsers:
IE6 - minor problem sometimes occurs repositioning submenus several levels down (4 or more) when browser is resized; otherwise works.
IE7 - minor problem sometimes occurs repositioning submenus several levels down (4 or more) when browser is resized; otherwise works.
Firefox 1.0.7 - very minor problem (1px) with root menu width; otherwise works.
Firefox 1.5.0.1 - works.
Opera 8.54 - works.
Konqueror 3.4.0 - works.
Safari (version???) - yet to test.
Lynx 2.8.4, and any other browser with no JavaScript support - drops back gracefully to unordered list.

Because it's based on a <ul>, it will drop back gracefully to an unordered list and look 'alright' .....

htktyktykt