Tjah, hvis det skal være nogenlunde sammenhængende, er der ingen vej udenom en stak javascript, men ikke så voldsomt omfattende:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin=;padding:0;}
#site{position:relative;width:780px;margin:0 auto;}
.menu{width:100%;text-align:center;}
.menu td{text-align:center;cursor:pointer;}
#subs{height:20px;overflow:hidden;}
.sub{display:none;}
</style>
<script type="text/javascript">
function showMenu(elm,id){
var sibs = elm.parentNode.getElementsByTagName("td");
for(i=0;sibs.length>i;i++)
sibs[i].style.backgroundColor = "";
elm.style.backgroundColor = "#cac";
var submenus = document.getElementById("subs").getElementsByTagName("div");
for(i=0;submenus.length>i;i++)
submenus[i].style.display = "none";
document.getElementById(id).style.display = "block";
}
</script>
</head>
<body>
<div id="site">
<table class="menu">
<tr>
<td onmouseover="showMenu(this,'sub1');">Menu1</td>
<td onmouseover="showMenu(this,'sub2');">Menu2</td>
<td onmouseover="showMenu(this,'sub3');">Menu3</td>
</tr>
</table>
<div id="subs">
<div id="sub1" class="sub">
<table class="menu" style="background-color:#ff0;">
<td>Undermenu 1-1</td>
<td>Undermenu 1-2</td>
<td>Undermenu 1-3</td>
</table>
</div>
<div id="sub2" class="sub">
<table class="menu" style="background-color:#faf;">
<td>Undermenu 2-1</td>
<td>Undermenu 2-2</td>
<td>Undermenu 2-3</td>
</table>
</div>
<div id="sub3" class="sub">
<table class="menu" style="background-color:#aff;">
<td>Undermenu 3-1</td>
<td>Undermenu 3-2</td>
<td>Undermenu 3-3</td>
</table>
</div>
</div>
</div>
</body>
</html>