Philipp S: Navigation

Hallo,
bis jetzt habe ich die Navigation in jede .html Datei geschrieben, jedoch habe ich nun ein Projekt mit einer umfangreichen Navigation.
Ich möchte die Navigation nurnoch einmal schreiben und dann mittels include("navigation.php"); auf jeder Seite einfügen, sodass ich die Navigation falls es Änderungen gibt nurnoch in dieser navigation.php Datei ändern muss und nicht mehr in jeder einzelnen Datei.
Bis jetzt noch kein Problem und funktioniert auch, aber ich will, dass das aktive Navigationselement einen anderen Hintergrund hat als die nicht-aktiven.
Vorher hatte ich dies so gelöst:

Html:

  
<div id="navigation">  
 <ul>  
   <li>  
     <a href="index.htm">Home</a>  
   </li>  
   <li class="active">  
     <a href="seite2.htm">Seite2</a>  
   </li>  
   <li>  
     <a href="Seite3.htm">Seite3</a>  
   </li>		  
 </ul>  
</div>  

CSS:

  
#navigation li{  
   height: 31px;  
   width: 150px;  
   color: black;  
   border: 1px solid black;  
}  
#navigation .active a, #navigation li a:hover{  
   background: #76D813;  
}  
#navigation li{  
   background: #FF9100;  
}  

Da ich nun aber nurnoch eine Navigations-datei habe kann ich keine class="active" mehr verwenden.
Ich habe es auch schon probiert mit #navigation li:active a, aber das funktioniert nicht.
Ich hoffe es kann mir jemand bei meinem Problem weiterhelfen.
Danke

  1. @@Philipp S:

    nuqneH

    Da ich nun aber nurnoch eine Navigations-datei habe kann ich keine class="active" mehr verwenden.

    Doch. Du müsstest aber in deinem PHP-Script die Menüpunkte durchgehen und den @href-Wert mit dem URI der jeweiligen aktuellen Seite vergleichen.

    Sinnvoller lässt sich das aber verwenden, um den Menüpunkt der aktuellen Seite gar nicht zu verlinken. (Punkt 10 der zehn meist-missachteten Homepage-Design-Richtlinien [Nielsen])

    Stile für den Menüpunkt der aktuellen Seite per '#navigation li', davon abweichende Stile der Links zu anderen Seiten per '#navigation li a'.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Doch. Du müsstest aber in deinem PHP-Script die Menüpunkte durchgehen und den @href-Wert mit dem URI der jeweiligen aktuellen Seite vergleichen.

      Und wie vergleiche ich den href-Wert mit der URI der aktuellen seite?
      Könntest du mir anhand meines Beispiels zeigen wie das geht?

      Sinnvoller lässt sich das aber verwenden, um den Menüpunkt der aktuellen Seite gar nicht zu verlinken. (Punkt 10 der zehn meist-missachteten Homepage-Design-Richtlinien [Nielsen])

      Wie kann ich denk Link der aktuellen Seite deaktivieren?

      Stile für den Menüpunkt der aktuellen Seite per '#navigation li', davon abweichende Stile der Links zu anderen Seiten per '#navigation li a'.

      Verstehe ich das richtig, dass ich zuerst alle li elemente der navigation als aktiv gestallte und danach durch Überschreiben der vorhanden Links mittels li a die nicht aktiven Links anders gestalte?

      1. @@Philipp S:

        nuqneH

        Und wie vergleiche ich den href-Wert mit der URI der aktuellen seite?

        In [link:http://www.php.net/manual/de/reserved.variables.server.php@title=$_SERVER] sollte sich ein zum Vergleich geeignetes Feld finden lassen.

        Wie kann ich denk Link der aktuellen Seite deaktivieren?

        Du erzeugst gar keinen Link.

        if () echo '<li><a href="…">…</a></li>';  
        else echo '<li>…</li>';
        

        oder anders geschrieben:

        echo? '<li><a href="…">…</a></li>' : '<li>…</li>';

        Verstehe ich das richtig, dass ich zuerst alle li elemente der navigation als aktiv gestallte und danach durch Überschreiben der vorhanden Links mittels li a die nicht aktiven Links anders gestalte?

        Ja. Das Markup dann dazu nämlich einfach so aussehen (aktuelle Seite: bar):

        <ul id="navigation">  
          <li><a href="foo">foo</a></li>  
          <li>bar</li>  
          <li><a href="baz">baz</a></li>  
          <li><a href="quz">quz</a></li>  
        </ul>
        

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Danke für die Hilfe.
          Es funktioniert jetzt :)