XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   CSS Menü - Buttonfrage (http://xhtmlforum.de/showthread.php?t=43227)

Ralgar 01.12.2006 16:54

CSS Menü - Buttonfrage
 
Folgendes Problem

Ich habe eine Seite mit einem CSS Menü das folgendermassen aufgebaut ist:

Der Link auf der Webseite wird wie folgt aufgerufen:

<div id="button1"><a href="index.html" style="text-decoration:none;"><span style="visibility:hidden;">Home</span></a></div>

Im CSS ist das wie folgt definiert:

#button1 a { width:178px; height:20px; display:block; background-image:url(home_nav.gif); background-repeat:no-repeat; }
#button1 a:hover { width:178px; height:20px; display:block; background-image:url(home_nav_o.gif); background-repeat:no-repeat; }
#button1 a:active { width:178px; height:20px; display:block; background-image:url(home_nav_o.gif); background-repeat:no-repeat; }

Ziel ist folgendes.
Das Menü besteht aus weissen Buttons, wenn ich mit der Maus rübergehe wird der Button schwarz (klappt).
Wenn ich eine Seite aufrufe, soll der Button jetzt aber schwarz bleiben, sprich die aktive Seite soll auch im Menü anhand der schwarzen Farbe erkannt werden.
ich dachte ursprünglich da smein Code da smacht, macht er aber nicht.
Wie löse ich das Problem und erreiche mein Ziel?

hier mal ein beispiel

http://ralgar.de/self/

mazzo 01.12.2006 17:39

:active bezieht sich nur auf den Moment des Klickens.

Du müsstest den Button, nachdem er geklickt wurde, mit einer anderen Farbe versehen, entweder per neuem CSS auf der Zielseite oder indem er bei Neuaufbau der Seite dynamisch eine passende CSS-Klasse erhält. Ähnlich wie es mit Menulisten passiert wenn der aktuelel Menupunkt gehighlighted wird (dort wird optimalerweise der Link auf sich selbst nicht mehr als <li><a href...> sondern nur als <li> dargestellt).

Ralgar 01.12.2006 17:43

Zitat:

Zitat von mazzo (Beitrag 316257)
:active bezieht sich nur auf den Moment des Klickens.

Du müsstest den Button, nachdem er geklickt wurde, mit einer anderen Farbe versehen, entweder per neuem CSS auf der Zielseite oder indem er bei Neuaufbau der Seite dynamisch eine passende CSS-Klasse erhält.

und wie?
ich meine was ich habe siehst du ja

mazzo 01.12.2006 18:01

die Seite auf die der Link verweist wird ja neu geladen. Dort kannst Du dann dem Link (Button nenn ich mal die Dinger, die an Formulare gebunden sind) eine neue Klasse geben. Da ein link auf sich selbst aber unsinnig ist, erstell einfach den Text in der Highlightfarbe ohne Link.

Da Menus in Listen gehören ist das ganz einfach ohne neue klasse zu machen, indem man den Link weglässt und der Text dann direkt im <li> steht.

Und damit das nicht auf jeder Seite einzeln angepasst werden muss, eignet sich dann z.B. PHP um das auszulagern und zu dynamisieren.

Ralgar 01.12.2006 18:10

tja

ich bin überfordert, das schaff ich net :(

dank dir trotzdem

mazzo 01.12.2006 18:12

auf der Quellseite steht

<ul><li><a href="zielseite.html">LINK</a></li><li><a href="datei.html>noch ein Link</a></li>...</ul>

und auf der Zielseite steht

<ul><li> KEIN LINK ABER HIGHLIGHT</li><li><a href="datei.html>noch ein Link</a></li>...</ul>

Ralgar 01.12.2006 18:14

hum

ok, DAS verstehe ich :D

danke ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:07 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023