Este menú requiere que esté activado Javascript.
Los menús, debido a la utilización de un z-index:100 se superponen al contenido de la página al desplegarse.
Lo situamos en la cabecera y se encarga de mostrar u ocultar los submenús:
<script
type="text/javascript"><!--
function mostrarsubmenu(id) {
var d =
document.getElementById(id);
for (var i = 1; i<=10;
i++) {
if
(document.getElementById('smenu'+i))
{document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
//-->
</script>
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}
#menu {
position: absolute;
top: 0;
left: 10px;
z-index:100;
width: 100%; /* ajuste para
Opera */
}
#menu dl {
float: left;
width: 12em;
}
#menu dt {
cursor: pointer;
text-align: center;
font-weight: bold;
background: #ccc;
border: 1px solid gray;
margin: 1px;
}
#menu dd {
display: none;
border: 1px solid gray;
}
#menu li {
text-align: center;
background: #fff;
}
#menu li a, #menu dt
a {
color: #000;
text-decoration: none;
display: block;
height: 100%;
border: 0 none;
}
#menu dt a {
text-align:center;
}
#menu li a:visited,
#menu dt
a:visited {
color: #eee;
}
#menu li a:hover, #menu dt
a:hover {
background: #eee;
color: #000;
}
Observa que no tenemos una única lista de definición, sino que cada término de definición y sus datos constituyen una lista dl independiente. Haciéndolo así cada lista flota a la izquierda y permite que la siguiente se coloque a su derecha tal como especificamos al crear las reglas CSS.
<dl>
<dt
onmouseover="javascript:mostrarsubmenu('smenu1');">Menu
1</dt>
<dd id="smenu1"
onblur="javascript:mostrarsubmenu();">
<ul>
<li><a
href="#">Submenú
1.1</a></li>
<li><a
href="#">Submenú
1.2</a></li>
<li><a
href="#">Submenú
1.3</a></li>
<li><a
href="#">Submenú
1.4</a></li>
<li><a
href="#">Submenú
1.5</a></li>
<li><a
href="#">Submenú
1.6</a></li>
</ul>
</dd>
</dl>
<dl>
/* Aunque el siguiente menú no tiene
submenús necesitamos
invocar el javascript sin darle un valor para que al pasar el
ratón sobre él se oculte el menú que
estuviera abierto */
<dt onmouseover="javascript:mostrarsubmenu();">
<a href="#">Menu
2</a></dt>
</dl>
...