aktuellen Menuepunkt anzeigen
Ines
- css
Hallo!
Ich hab da ein Menue, was soweit auch ganz gut funktioniert. Nun moechte ich, dass der Menuepunkt der aktuelle Seite(also nach aufrufen des links) die Hintergrundfarbe des Menueblocks eine andere Farbe kriegt. Ich habe irgendwas mit active und visited gelesen, das hat aber nicht funktioniert. Hier der CSS-Teil:
#register {
border-collapse: collapse;
font: normal bold 16px Verdana, Helvetica, sans-serif;color: white;
position:absolute;
left:174px; top:41px;
}
#register td {
width: 140px; height: 20px;
text-align: center;
}
#register a {
display: block; width: 100%; color: white;
background-color: #99CCCC;
text-decoration: none; font: normal bold 12px Verdana, Helvetica, sans-serif;
}
und 2. Macht es einen Unterschied, ob ich #ffffff oder white schreibe?
Ines
hi,
Nun moechte ich, dass der Menuepunkt der aktuelle Seite(also nach aufrufen des links) die Hintergrundfarbe des Menueblocks eine andere Farbe kriegt. Ich habe irgendwas mit active und visited gelesen, das hat aber nicht funktioniert.
:active beschreibt lediglich den kurzen zeitpunkt, in dem du die maustatse über einem link drückst. es ist daher für dein vorhaben nicht geeignet (auch wenn der IE es falsch interpretiert).
:visited gilt für links, die der besucher bereits irgendwann in letzter zeit einmal angeklickt hat.
gruss,
wahsaga
Hallo wahsaga!
Danke fuer deine Antwort. Das active oder visted bringt mich also zu keiner Loesung. Es muss doch aber moeglich sein, den Link "dauerhaft" zu aendern (solange bis ich auf einen anderen gehe)
Ines
hi,
Es muss doch aber moeglich sein, den Link "dauerhaft" zu aendern (solange bis ich auf einen anderen gehe)
natürlich ist das möglich - aber nicht mit CSS alleine.
du könntest z.b. serverseitig die seite dynamisch erzeugen, und schreibst dabei dann bei dem betreffenden link einen anderen klassennamen ins class-attribut ...
gruss,
wahsaga
Hi,
da ich annehme, daß Du Frames verwendest (sonst würde sich das Problem ja wie Thomas schon sagte nicht stellen), hilft Dir entweder Javascript oder Du erstellst für jeden Link, der sich ändern soll, ein neues Frameset, in dem dieser dann in einer anderen Farbe (und auch nicht als Link) definiert ist.
Wenn Du Javascript nehmen willst (was für einen solchen, die Funktionalität nicht beeinträchtigenden Effekt ja nicht verwerflich ist), ginge das z.B. so:
function Farbe(nr)
{
if (document.getElementsByTagName)
{
for(var i=0; i<7; i++) document.getElementsByTagName("a")[i].style.color="#fff";
document.getElementsByTagName("a")[nr].style.color="#c00";
}
}
hier für 8 Links definiert, gezählt ab 0. Die Funktionsaufrufe sehen dann so aus:
<a href="deineseite.html" target="deinframe" onclick="Farbe(0);">erster Link</a>
freundliche Grüße
Ingo
Hallo,
Ich hab da ein Menue, was soweit auch ganz gut funktioniert.
Hoffentlich auch ohne JavaScript...
Nun moechte ich, dass der Menuepunkt der aktuelle Seite(also nach aufrufen des links) die Hintergrundfarbe des Menueblocks eine andere Farbe kriegt.
Falls Du _keine_ Frames verwendest, sondern die Navigation
auf jeder einzelnen Seite einbindest, sollte dieser
Punkt im Menue gar kein Link sein.
http://www.useit.com/alertbox/20031222.html
Fehler Nr. 10: Pages That Link to Themselves
Um fuer diesen Punkt, der ja dann kein Link
mehr ist, auch display:block und andere Dinge
verwenden zu koennen, kannst Du ihn jeweils
in ein Span packen.
#register a { display:block; /* u.s.w. */ }
#register span { display:block; /* u.s.w. */ }
Der HTML-Teil kann dann z.B. so aussehen:
<ul>
<li><a href="index.html">Home</a></li>
<li><span>Ueber mich</span></li>
<li><a href="kontakt.html">Kontakt</a></li>
</ul>
--
Falls Du Frames verwendest, solltest Du
http://www.subotnik.net/html/frames.html
lesen und die Frames abschaffen.
Falls Du unbedingt weiterhin mit Frames rumbasteln
willst und Dein Ziel (dauerhafte Markierung des
zuletzt gewaehlten Menue-Punktes) erreichen willst,
musst Du mit JavaScript rumbasteln.
Aber frag mich nicht, wie!
und 2. Macht es einen Unterschied, ob ich #ffffff oder white schreibe?
Nein.
Ich persoenlich bevorzuge die #ffffff Schreibweise,
weil ich dann auch beim raschen Ueberfliegen ("Scannen")
des CSS-Codes sofort sehe: Hier ist ein Farb-Wert.
Gruesse,
Thomas
Hallo Thomas,
Hoffentlich auch ohne JavaScript...
Noch nicht ;-)
Falls Du _keine_ Frames verwendest, sondern die Navigation
auf jeder einzelnen Seite einbindest, sollte dieser
Punkt im Menue gar kein Link sein.
ok, ich wollte es bisher mit frames lösen, da ich den Code der Titel+Menueleiste nicht in alle Seiten uebernehmen wollte. Aber ich werde sie wohl rausschmeissen und deinen Vorschlag probieren.
Ich persoenlich bevorzuge die #ffffff Schreibweise,
weil ich dann auch beim raschen Ueberfliegen ("Scannen")
des CSS-Codes sofort sehe: Hier ist ein Farb-Wert.
da ist was dran...
Danke