CSS Menü
Andreas
- html
Hallo,
Ich habe ein Menü mit CSS und HTML erstellt.
Wie kann ich dem gerade geklickten Link mitteilen dass sein Eintrag hervorgehoben wird, also einen spez. ID enthält?
Wäre es sinnvoll die Seitenurl zu ermitteln (php) und in einer Schleife eine Abfrage machen welche Seite geladen wurde?
Andreas
Hallo,
Ich habe ein Menü mit CSS und HTML erstellt.
Wie kann ich dem gerade geklickten Link mitteilen dass sein Eintrag hervorgehoben wird, also einen spez. ID enthält?
Wäre es sinnvoll die Seitenurl zu ermitteln (php) und in einer Schleife eine Abfrage machen welche Seite geladen wurde?
das Problem besteht darin dass jede Seite per PHP o.ä. den gleichen Code für die
Navigation einbindet?
Du könntest z.B. noch dem body-Tag eine eindeutige ID geben, und dann im CSS entspr.
über die Vererbung unterscheiden.
Wen du sowieso per PHP während des Ladens unterscheiden kannst, hast du aber die
Möglichkeit den HTML-Code zu beeinflussen und den Link der gerade aktiven Seite
per HTML anders darzustellen. Das Ergebnis kann dann barrierefreier sein als nur eine
unterschiedliche Farbgebung per CSS zu bewirken.
Hier ist z.B. der Menupunkt der geladenen Seite noch als a-Tag, aber nicht als Link
ausgeführt. Alternativ könnte ich mir auch einen Link mit dem Zusatz '<span
class="wai">[Aktuelle Seite]</span>' o.ä. vorstellen, der für Screenreader erkennbar
sein soll, aber per "normalem" CSS ausgeblendet wird; zugleich müsste dieser Link im
CSS eine andere Farbe erhalten.
Grüsse
Cyx23
Hallo,
hier mal der Link: http://www.access-o-mania.de/
Gemeint ist die Navigation links oben unter "Haupt Menü".
Problem ist ich lade die Menüpunkte aus einer Tabelle. Hier mal ein Teil meines bisherigen Codes:
$content .= "<tr align="left"><td><a ";
if ((!isset($ind) && $select==0) || strpos($row['url'],$ind)>0){
$content .= "id="activenav" ";
$select = 1;
}
$content .= "href="{$row['url']}" $target class="mainnav" >{$row['title']}</a></td></tr>";
$row['url'] ist mein Link, z.B. "index.php?ind=donwloads"
$ind ist die action-variable der geladenen Seite.
Das Funktioniert auch solange wie jeder Menüpunkt eine eigene action (z.B. downloads, tipps...) hat. Aber alle Unterpunkte unter Community haben die gleiche: "index.php?ind=community&op=glossar" für den Glossar.
Weiss nicht wie ich das umsetzen soll.
Gruß Andreas
Hallo Andreas,
Wäre es sinnvoll die Seitenurl zu ermitteln (php) und in einer Schleife eine Abfrage machen welche Seite geladen wurde?
Schau dir dazu mal Jeenas Artikel an.
Auf Wiederlesen
Detlef
Hallo,
Schau dir dazu mal Jeenas Artikel an.
Hab ich, ist aber nicht brauchbar da ich zur Laufzeit Menüpunkte hinzufüge und entferne im CMS.
Andreas
Hallo,
habe nun eine ziemlich einfache Lösung gefunden:
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$content .= "<tr align="left"><td><a ";
if ($row['url'] == $url)
$content .= "id="activenav" ";
$content .= "href="{$row['url']}" $target class="mainnav" >{$row['title']}</a></td></tr>";
Gruß Andreas