Wie iFrame mit CSS (active/current) Menü ansteuern?
Maxi
- html
0 Der Martin
0 Maxi
0 MudGuard
0 Maxi
Ich habe einen iFrame, den ich mit Hilfe eines CSS-Menüs ansteuere.
So allgemein funktioniert das auch, der Mouseover-Effekt ebenfalls, aber:
Er hebt nicht die derzeit aktive Seite hervor, welcher in der Auflistung mit <li class="current">...</li>
angesprochen wird.
Hallo,
Ich habe einen iFrame, den ich mit Hilfe eines CSS-Menüs ansteuere.
So allgemein funktioniert das auch, der Mouseover-Effekt ebenfalls, aber:Er hebt nicht die derzeit aktive Seite hervor, welcher in der Auflistung mit <li class="current">...</li> angesprochen wird.
ähm ja, und weiter?
So long,
Martin
Der Code:
<html>
<head>
<link rel="stylesheet" href="style/menu_style.css" type="text/css" />
</head>
<body>
<ul class="menu red">
<li class="current"><a href="content/index.html" target="frame">Startseite</a></li>
<li><a href="content/about.html" target="frame">Über Uns</a></li>
<li><a href="content/gb.html" target="frame">Gästebuch</a></li>
<li><a href="content/music.html" target="frame">Musik</a></li>
<li><a href="content/contact.html" target="frame">Kontakt</a></li>
<li><a href="content/imprint.html" target="frame">Impressum</a></li>
</ul>
<iframe src="content/index.html" width="800" height="307" border="0" frameborder="0" framespacing="0" name="frame">Sorry, dein Brower unterstützt keine Frames!</iframe>
</body>
</html>
Inhalt der CSS:
ul.menu {
list-style-type:none;
width:auto;
position:relative;
display:block;
height:33px;
font-size:.6em;
background:url(images/bg.png) repeat-x top left;
font-family:Verdana,Helvetica,Arial,sans-serif;
border:0px solid #000;
margin:0;
padding:0;
}
ul.menu li {
display:block;
float:left;
margin:0;
padding:0;
}
ul.menu li a {
float:left;
color:#A79787;
text-decoration:none;
height:24px;
padding:9px 15px 0;
font-weight:normal;
}
ul.menu li a:hover,.current {
color:#fff;
background:url(images/bg.png) repeat-x top left;
text-decoration:none;
}
ul.menu .current a {
color:#fff;
font-weight:700;
}
/*RED*/
ul.menu.red{
background-color:#B11718;
}
ul.menu.red li a:hover, .menu.red li.current {
background-color:#DE3330;
}
@@Maxi:
nuqneH
<html>
Keine DOCTYPE-Angabe? IE im Quirksmodus?
<ul class="menu red">
"red" ist wohl kein vernünftiger Bezeichner für eine Klasse. Was, wenn das Menü nach einem Redesign blau sein soll? Bezeichne Klassen nicht nach der gegenwärtig gewünschten Darstellung!
<li class="current"><a href="content/index.html" target="frame">Startseite</a></li>
„Verlinke niemals auf die aktuelle Seite.“ (Punkt 10 der zehn meist-missachteten Homepage-Design-Richtlinien [Nielsen])
Im Iframe wird eine vom umgebenden Seitendokument völlig unabhänguges Dokument dargestellt. Wenn sich das Dokument im Iframe ändert; ändert sich das umgebende Seitendokument nicht; insbesondere auch nicht dessen URI in der Adressleiste, was ein prinzipielltes Usability-Problem darstellt. [Subotnik, molily]
Vermeide Frames! Vermeide Iframes! (Wennschon, dann andersrum; ist aber auch problematisch. [icke])
Stattdessen: Quelltext auslagern. [FAQ] Das serverseitige Script sollte auch dafür sorgen, dass die aktuelle Seite im Menü nicht verlinkt ist.
Qapla'
Es handelt sich lediglich um Auszüge des Quellcodes und zwar um die es auch ankommt.
Das Problem mit dem iFrame werde ich nicht umgehen können. Da die "zentrale" Seite einen Musik-Player beinhaltet, der nicht immer wieder von neuem starten soll, wenn der Benutzer auf einen Link klickt.
Hi,
Ich habe einen iFrame, den ich mit Hilfe eines CSS-Menüs ansteuere.
So allgemein funktioniert das auch, der Mouseover-Effekt ebenfalls, aber:Er hebt nicht die derzeit aktive Seite hervor, welcher in der Auflistung mit <li class="current">...</li>
angesprochen wird.
Dann machst Du wohl was falsch.
Mehr kann man bei der kompletten Abwesenheit relevanter Information nicht sagen.
cu,
Andreas
Problem mit Hilfe von einem Styleswitcher gelöst.