Websites are increasingly providing fly-out menus for navigation, along with other navigational system. The main reason for this is to reduce page clutter and to give user a well organized website. These menus are those which expand based on user interaction, such as pointing a mouse. The system consists of Main or Root menus, sub-menus and Items.
The preferred way to create dynamic menu (fly-out menu) is by using a HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets). User can create unordered and nested menus in HTML and at the same time, CSS can be used to format sub-menus and items as well as for selective hiding/showing of the same. The downside of this approach is that if CSS is not enabled in the client browser, all menus will appear in the form of a nested list.
There are also other methods available to create fly-out menus. For example, PHP and MySQL can be used along with HTML for the purpose. However, the methods discussed earlier are the ones most widely used.