Bei einer Website ist ein Menü in dem immer der Link eingefärbt werden soll (css: background-color: #feb280) auf dessen Seite man sich momentan befindet.
wie ist das nur mit HTML und CSS möglich??
also wenn ich auf link1 klicke soll link1 die ganze zeit gefärbt sein während ich seite1.html besuche.
Das Auszeichnen eines Links mit HTML wie gewohnt, das Färben mit CSS wie gewohnt.
Das Entscheiden, auf welcher Seite man sich befindet, geht nicht mit HTML/CSS, dazu brauchst Du eine serverseitige Programmiersprache, mit der Du dem aktuellen Link eine besondere Klasse gibst, die dann per CSS gefärbt wird.
Wenn Du jede Seite als eigene HTML-Seite vorliegen hast, in der das Menü jedesmal neu vorkommt, dann geht das natürlich auch rein mit HTML/CSS
Gibt es da ne andere Lösung?
Mit Javascript?
Ich habe keine Ahnung von Javascript, vondaher müsste mir jemand erklären wie genau ich wann und vor allem was mache…
Indem Du Deinem serverseitigen Script übergibst, auf welcher Seite sich der Besucher gerade befindet und dann beim richtigen Link die Klasse setzt.
Meistens arbeitet man ja sowieso mit serverseitigem Include, wo man auch die ID der Seite mitgibt. Da hast Du dann Deine Seitenkennung.
ich arbeite mit <!–#include virtual=„/menue.txt“> in der regel würde ich ein php script schreiben aber ich darf kein php benutzen (bin hier nur der praktikant).
das klingt nicht gut
das problem ist schon mal gelöst worden, auf der alten Website funktioniert das auch irgendwie aber niemand errinnert sich wie das passieren konnte
trotzdem danke
Ich meine, die Auszeichnung von Links und einem Menü erfolgt über HTML, also eine Liste und darin Listenelemente mit Links.
Daran ist schonmal nicht zu rütteln.
Dann das Aussehen: Das passiert natürlich mit CSS. Dazu gibts ne eigene Klasse oder sogar eine ID (ist ja nur eine Seite, die ich besuchen kann), die entsprechend formatiert wird.
Nun ist die Frage, woran erkennt man den aktiven Link? HTML und CSS stellen solche Informationen nicht bereit. Bei CSS wird gerne die Pseudoklasse „:active“ damit verwechselt, tatsächlich ist das aber nur der Zustand eines ausgewählten Links, also von dem Moment, wo man ihn anklickt bis dahin, wo dann eine neue Seite geladen wird. Das ist also auch nicht das, was Du willst.
Die aktuelle Seite kann man nur über die aktuelle URL identifizieren oder über einen Parameter.
Ja, man könnte das auch mit JavaScript machen…das Script liest die URL der aktuellen Seite und entscheidet daraufhin, welcher Link der der aktuellen Seite ist. Dazu kann man die Links mittels DOM durchsuchen und die entsprechende Klasse manuell hinzufügen.
Wenn JavaScript abgeschaltet ist, wird der aktelle Link halt nicht markiert.
Finde ich persönlich unglücklich, das mit JS zu machen, aber wenn man es unbedingt braucht und keine serverseitige Lösung einsetzen darf…?
Möglich, ja.
Aber jetzt sind wir bei Hardcore-JavaScript und nicht bei CSS
getElementsByTagName() sorgt dafür, dass hier ALLE Links gesucht werden. Das musst Du durch eine geeignete Funktion ersetzen.
Du kannst auch mit getElementById() nach Deinem Menü suchen und Dich dann per DOM durch die Kinder dieses Element hangeln und nach Links suchen.
Aber da müsste ich selber rumprobieren. Da schau ich immer bei SELFHTML: JavaScript/DOM rein. Die Objektreferenz ist sehr hilfreich, wenn man ungefähr weiß, wonach man sucht. Wenns für Dich nicht reicht, entweder findet sich hier jemand, oder Du stellst das nochmal im JavaScript-Unterforum rein.
[/CODE]statt x.php kannst du auch x.htm oder so nehmen.
das ganze musst du dann für jeden link,- und auf jeder verlinkten seite im body machen, und auch im css zufügen.