Aktiver Link mit Body ID

Guten Morgen,

ich versuche mich gerade an einem neuen Design (http://test.elpixo.de) und bin prompt an ein Problem gestoßen.

Den Link, welcher zur aktuell dargestellten Seite führt, würde ich gerne hervorheben. Die hatte ich auf meiner aktuellen Seite mit den Body ID’s realisieren können. Beim neuen Design funktioniert es leider noch nicht.

Prinzipiell muss es schon funktionieren, da sich beim aktiven Link bereits der Cursor wie gewollt ändert. Aber der andere Hintergrund lässt sich nicht blicken. Anscheinend wird dieser im Nachhinein nochmals überschrieben, aber ich weiß nicht wo.

Vielleicht kann mir jemand auf die Sprünge helfen.

index.php

[code]

Überschrift

inhalt

© 2009 - 2010 ElPixO.de | Impressum

[/code]

css

[code]body {margin:0;
padding:0px;
background-color:#141414;
font-family:verdana,arial,sans-serif;
font-size:16px;
color:#ffffff;
}
img {border:0;
}
a {color:#c90000;
text-decoration:none;
}
a:hover {color:#500000;
}

.alles {width:1000px;
margin:10px auto;
background:#000000;
border:1px solid #500000;
}

/### Kopf ###/
.kopf {height:126px;
background:url(bilder/kopf.gif) no-repeat top center;
}

/### MenÜ ###/
#menue {height:24px;
background:url(bilder/kopf.gif) no-repeat bottom center;
display:block;
border-bottom:1px solid #500000;
}
#menue div {position:relative;
display:block;
font-size:12px;
font-weight:bold;
}
#menue div ul {margin:0;
padding:0;
list-style:none;
}
#menue div ul li {display:block;
float:left;
margin:0 1px 0 0;
}
#menue div ul li a {display:block;
float:left;
color:#ffffff;
text-decoration:none;
padding:2px 16px 0;
line-height:22px;
background:transparent url(bilder/menue.gif) no-repeat top right;
}
#menue div ul li a:hover {background:transparent url(bilder/menue_hover.gif) no-repeat top right;
}

/### Inhalt ###/
#inhalt {width:770px;
margin:15px 10px;
float:left;
}
.ueberschrift {margin:0;
padding:0 0 0 15px;
line-height:46px;
background:url(bilder/ueberschrift.gif) no-repeat left top;
text-align:left;
font-size:24px;
}
.inhalt {display:block;
margin:0 4px;
padding:5px 25px;
background-color:#141414;
border-right:1px solid #343434;
border-bottom:1px solid #343434;
border-left:1px solid #343434;
}

/### Seitenmenue ###/
#seitenmenue {width:187px;
float:right;
font-size:12px;
margin:8px 10px 8px 0;
}
#seitenmenue ul {margin:0;
padding:0;
list-style:none;
}
#seitenmenue a {display:block;
line-height:22px;
padding:0px 0 0px 15px;
color:#c90000;
}
#seitenmenue a:hover {background-color:#c90000;
color:#ffffff;
}
#seitenmenue h2 a {font-size:18px;
line-height:26px;
font-weight:bold;
background:#ffffff url(bilder/seitenmenue.gif);
color:#ffffff;
}
#seitenmenue h2 a:hover {color:#c90000;
}
#seitenmenue h2 {margin:7px 0 3px 0;
}

/### Fuss ###/
#fuss {clear:both;
display:block;
width:980px;
margin:0 auto 10px auto;
text-align:center;
line-height:44px;
background:url(bilder/fuss.gif) no-repeat center;
}
#fuss a {color:#ffffff;
text-decoration:underline;
}
#fuss a:hover {text-decoration:none;
}

/### Body ID’s ###/
body.startseite .startseite, body.fotogalerie .fotogalerie, body.locations .locations, body.kontakt .kontakt, body.vertrag .vertrag,
body.posing_guide .posing_guide, body.wer_steckt_dahinter .wer_steckt_dahinter, body.ausruestung .ausruestung, body.impressum .impressum,
body.verschiedenes .verschiedenes, body.bildbearbeitung .bildbearbeitung, body.galerie_2009 .galerie_2009, body.galerie_2010 .galerie_2010,
body.galerie_01 .galerie_01, body.galerie_02 .galerie_02, body.galerie_03 .galerie_03, body.galerie_04 .galerie_04, body.galerie_05 .galerie_05,
body.galerie_06 .galerie_06, body.galerie_07 .galerie_07, body.galerie_08 .galerie_08, body.galerie_09 .galerie_09, body.galerie_10 .galerie_10,
body.galerie_11 .galerie_11, body.galerie_12 .galerie_12, body.galerie_13 .galerie_13, body.galerie_14 .galerie_14, body.galerie_15 .galerie_15,
body.galerie_16 .galerie_16, body.galerie_17 .galerie_17, body.galerie_18 .galerie_18, body.galerie_19 .galerie_19, body.galerie_20 .galerie_20
{cursor:default;
background:transparent url(bilder/menue_hover.gif) no-repeat top right;
}[/code]

  1. Zur Begriffswahl: Was du vermutlich meinst, ist eine Klasse
    (class), keinen Identifizierer (id). Du solltest dich schon
    verständlich ausdrücken und die Begriffe nicht verwechseln.

  2. Wenn ein Verweis zur aktuellen Seite keinen
    Fragmentidentifizierer angehängt hat, ist der Verweis sinnlos und
    für einige Leute verwirrend, daher ist es besser, die
    Verweisfunktionalität einfach per PHP bei dem Verweis zu
    entfernen, statt den Verweis anders zu dekorieren.

  3. Pseudoformate wie :hover etc haben eine sehr hohe Spezifität,
    werden also von einer Klassenauszeichnung nicht überschrieben
    oder man muß dann das Pseudoformat schon in den Ausdruck
    integrieren, um eine ausreichend hohe Spezifität zu erreichen.

[quote=“hoffmann”]1. Zur Begriffswahl: Was du vermutlich meinst, ist eine Klasse
(class), keinen Identifizierer (id). Du solltest dich schon
verständlich ausdrücken und die Begriffe nicht verwechseln.

  1. Wenn ein Verweis zur aktuellen Seite keinen
    Fragmentidentifizierer angehängt hat, ist der Verweis sinnlos und
    für einige Leute verwirrend, daher ist es besser, die
    Verweisfunktionalität einfach per PHP bei dem Verweis zu
    entfernen, statt den Verweis anders zu dekorieren.

  2. Pseudoformate wie :hover etc haben eine sehr hohe Spezifität,
    werden also von einer Klassenauszeichnung nicht überschrieben
    oder man muß dann das Pseudoformat schon in den Ausdruck
    integrieren, um eine ausreichend hohe Spezifität zu erreichen.[/quote]

Danke für deine Antwort.

Zu 1.: Entschuldige, in meinem Fall war es vermutlich etwas undeutlich ausgedrückt. Die von mir verwendete Methode ist unter “Body Id” im Internet bekannt. Bei mir habe ich eben nur die IDs durch Klassen ersetzt.

Zu 2.: Das Problem dabei ist, dass ich mich bei PHP gar nicht auskenne. Deshalb kann ich auch nur mit der Hälfte dieses Punktes etwas anfangen (Fragmentidentifizierer?).

Zu 3.: Kann schon sein. Aber bei meiner aktuellen Seite funktioniert es trotzdem auf diese Weise. Ich werde mich nochmal alles genau ansehen und hoffen, dass ich den Fehler finde.

Ok, ich hab’s geschafft. Ich musste in meinem Menü die Klassen durch IDs ersetzen.

[code]

[/code] Aber ich verstehe nicht, warum es auf meiner anderen Seite ohne IDs geht. Vielleicht kann mich da jemand aufklären.

Na, weil du da mit dem :hover-Effekt (der nicht-aktiven Links) nur den Hintergrund und die Farbe änderst. Und zwar zu dem, was der aktive Link schon als standard hat.
Das heisst, wenn du mit der Maus über den aktiven Link fährst, wird der Hintergrund von weiss auf weiss und die Schriftfarbe von rot auf rot gesetzt, und es ändert sich somit nichts.

[quote=“bcg”]Na, weil du da mit dem :hover-Effekt (der nicht-aktiven Links) nur den Hintergrund und die Farbe änderst. Und zwar zu dem, was der aktive Link schon als standard hat.
Das heisst, wenn du mit der Maus über den aktiven Link fährst, wird der Hintergrund von weiss auf weiss und die Schriftfarbe von rot auf rot gesetzt, und es ändert sich somit nichts.[/quote]
Vielen Dank für deine Bemühungen. Aber ich glaube, du beziehst dich hier auf das Seitenmenü. Mir geht es hier erst mal um das (Haupt-)Menü direkt unter dem Kopf. Für das Seitenmenü habe ich noch keine “Body IDs” vergeben.

Wenn in (X)HTML ein Element ein id-Attribut hat, nennt der
Fachmann das Fragmentidentifizierer (englisch: fragment
identifier). Damit wird also ein Fragment, ein Teil des
Dokumentes eindeutig identifiziert.
Beispiel


Allgemeiner gibt es dafür in XML auch xml:id, damit:

In einem Verweis in (X)HTML kann man nun schreiben:
Start
Dann wird beim Betätigen des Verweises zu dem Fragment
gesprungen (elementare Funktion von (X)HTML).
Geht auch, wenn das Fragment in einem anderen Dokument ist:
Start
Beides ist eine sinnvolle Anwendung von Verweisen

Hingegen ist es unsinnig, in einem Dokument namens
beispiel.html einen Verweis von folgender Form anzugeben:
Beispiel
oder auch
Beispiel
oder noch schlimmer (und falsch)
Beispiel
oder
Beispiel

Letzteres ist falsch, weil es keine leeren Fragmentidentifizierer
gibt.

Wenn es da eine Methode gibt, um unsinnige Verweise in einem
Dokument auf dieses Dokument selbst besonders zu dekorieren,
so haben die Leute, die die Methode veröffentlicht haben,
offenbar den Überblick verloren, da wundert es nicht, daß die
auch merkwürdige Namen dafür erfinden ;o)