Det
kan nu godt lade sig gøre med CSS alene - selvom jeg ikke er vild tilhænger af det =)
Jeg plejer at gennemgå to filer i stil med disse med mine webintegrator elever på Teknisk Skole:
HTML dokument:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Vandret dropdown menu med CSS 2.1</title>
<link rel="stylesheet" type="text/css" href="dropdown_horz.css">
</head>
<body>
<h2>Vandret dropdown menu med CSS 2.1</h2>
<ul class="menu">
<li><div>Menu #1</div>
<ul>
<li><a href="#">Emne 1_1</a></li>
<li><a href="#">Emne 1_2</a></li>
<li><a href="#">Emne 1_3</a></li>
<li><a href="#">Emne 1_4</a></li>
</ul>
</li>
<li><div>Menu #2</div>
<ul>
<li><a href="#">Emne 2_1</a></li>
<li><a href="#">Emne 2_2 (bredt emne)</a></li>
<li><a href="#">Emne 2_3</a></li>
</ul>
</li>
<li><div>Menu #3</div>
<ul>
<li><a href="#">Emne 3_1</a></li>
<li class="sub_menu"><a href="#">Emne 3_2</a>
<ul>
<li>Emne 3_2_1</li>
<li>Emne 3_2_2</li>
<li>Emne 3_2_3</li>
</ul></li>
<li><a href="#">Emne 3_3</a></li>
<li><a href="#">Emne 3_4</a></li>
<li><a href="#">Emne 3_5</a></li>
</ul>
</li>
<li><div>Menu #4</div>
<ul>
<li><a href="#">Emne 4_1</a></li>
<li><a href="#">Emne 4_2</a></li>
<li><a href="#">Emne 4_3</a></li>
</ul>
</li>
</ul>
</body>
</html>
dropdown_horz.css:
body {
font: 80% verdana, sans-serif;
}
ul.menu {
background: #359;
display: inline-block;
}
ul.menu,
ul.menu ul,
ul.menu ul ul {
padding: 0;
margin: 0;
list-style: none;
}
ul.menu li {
display: inline-block;
background: #006699;
color: white;
vertical-align: top;
position: relative;
white-space: nowrap;
overflow: hidden;
}
ul.menu li:hover {
overflow: visible;
}
ul.menu li div {
padding: 2px 10px;
text-align: center;
font-weight: bold;
cursor: pointer;
}
ul.menu ul,
ul.menu ul ul {
position: absolute;
padding: 1px;
background: #015c8a;
}
ul.menu ul li {
display: list-item;
}
ul.menu a,
ul.menu a:visited {
text-decoration: none;
display: block;
padding: 2px 15px 3px 10px;
background: #8ac5c5;
color: #006699;
}
ul.menu a:hover {
background: #015c8a;
color: #8ac5c5;
}
ul.menu ul ul {
position: absolute;
left: 100%;
top: 0;
}
ul.menu .sub_menu:hover {
overflow: visible;
}