There are several types of HyperText Markup Language (HTML) menus, although implementing most of them requires the use of cascading style sheets (CSS), a scripting language or some external modules. The most basic type is a list of static links. A horizontal or vertical strip of options can be made to look much like a menu bar from a desktop application. Multilevel menus allow each menu option to contain another menu and can be used for complex navigation through a large website. Special effects such as floating HTML menus or menus that animate when opened also are possible on a website.
The most basic type of HTML menus is a list of static links. This also is one of the only ways to implement a menu in pure, basic HTML. The menu in this case basically is just a list of links, with each being a hypertext link to a destination. Although very simple, this type of menu will render on all devices and does not rely on any special browser features to operate.
Drop-down HTML menus resemble a menu bar in a standard desktop application. When a word or icon in this type of menu is clicked, a box containing selectable options opens under the word or icon that was clicked. A drop-down menu is familiar to most computer users but can complicate navigation on a website if too many options or headers are used.
Multilevel HTML menus are a way to implement a nested menu tree. This can appear as a drop-down menu or more like a properties tree, with each option having a way to expand any sub-options in the tree. With the use of dynamic HTML (DHTML) or a scripting language, a multilevel menu can be dynamically generated from a series of web pages and updated during navigation. A possible complication is that, if the depth of the option tree is very deep, the formatting on a web page might be affected.
Floating HTML menus use less standardized techniques than other types of HTML menus but can create a convenient navigational element for a page. By using CSS and scripting, a single frame can be positioned at a static location on the page so that, despite scrolling, the menu always appears in the same place. Some browsers do not necessarily support the positioning code required for a floating menu, however. Without careful page design, the menu actually might cover important information on the page.