Hallo zusammen,
ich hoffe ihr könnt mir weiterhelfen. Meine Webseite ist so gut wie fertig gestellt, einzig meine "Menü-Struktur" bekomme ich bisher nicht W3C konform.
Wie ich mittlerweile weiß, ist ein Link um ein Div nicht erlaubt (<a href="#“><div>text</div></a>). Aus diesem Grund habe ich mir schon einige Horizontal CSS Rollover Menu Beispiele angeschaut, die mit ul li ol ... Wege aufzeigen um das Problem zu lösen - auch hier im Forum.
Mein Menü unterscheidet sich gegenüber den gefundenen Beispielen.
Kompliziert ausgedrückt: Zwei Divs nebeneinander, bei Rollover wächst das erste Div auf die Größe des zweiten Divs daneben (das zweite Div wird dabei überdeckt, beide Divs beinhalten einen weiteren Div mit Text und Hintergrundfarbe ganz unten, Div und Beschreibung sollen zusammen einen vollwertigen Link bilden, beide Divs haben beim Rollover ein Hintergrundbild
Da es mir schwer fällt es näher zu beschreiben, habe ich für das Forum eine simple abgespeckte Variante meiner Seite erstellt.
Mal abgesehen von der W3C-Konformität, freue ich mich auch über weitere Empfehlungen mit Begründungen (z.B. sollte ich noch ein ein position: absolute, display:block, oder Ähnliches einbauen, z.B. beim überlappenden Div?)
index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>My CSS Menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="menuArea">
<div id="bg1">
<a href="#"><div class="text1">Menu 1</div></a>
</div>
<div id="bg2">
<a href="#"><div class="text2">Menu 2</div></a>
</div>
</div>
</body>
</html>
Alles anzeigen
style.css
body{
font: 12px tahoma, sans-serif;
}
img{
border: 0px;
}
a:link, a:visited{
color: #fff;
text-decoration: none;
}
a:hover, a:active{
font-weight: bold;
}
.text1, .text2{
margin-top: 454px;
padding: 8px;
}
.text1{
background: #000;
}
.text2{
background: #444;
}
#menuArea{
background: #8facdf;
height: 490px;
margin: 40px auto 20px auto;
width: 490px;
}
#bg1 a, #bg2 a{
height: 490px;
position: absolute;
width: 245px;
}
#bg2 a{
margin-left: 245px;
}
#bg1 a:hover{
background: url(bg1.jpg);
width: 490px;
}
#bg2 a:hover{
background: url(bg2.jpg);
}
Alles anzeigen