I am a great believer in writing what I term 'dynamic' code; PHP and MySql together allow us to do this; with the help of CSS and Javascript at times.
An Expanding Vertical Menu
This function is actually in use here in the column to the left. There are three 'menu headings', i.e. 'Dynamic Tools', 'Dynamic Menus' and 'Other Functions', and each of these has a number of options below them which when clicked on change the 'opt' variable.
When your cursor hovers over a main menu heading the options for this heading are displayed and the options for any other main menu headings are retracted.
All aspects of the design are configurable via a CSS file.