Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12
  1. #1
    Boskop
    Themenstarter
    Avatar von pepepy
    Registriert
    06.2006
    Ort
    BERLIN
    Beiträge
    209

    Menü mit verschiedenen Bildern --> class="active"

    Hallo,

    eine Frage: Ich habe ein CSS-Menü, eine Liste. Jede li bekommt durch die ID ein eigenes Bild verpasst.
    Bei hover wechseln die Bilder. Das funktioniert ganz gut.
    Bei class="active" aber soll das hover-Bild genommen werden und aktiv bleiben so lange ich auf der Seite bin.

    Das lässt sich sicher prima durch PHP erstellen. Habe schon viel herumgesucht, aber
    nicht das passende gefunden.
    Wie fange ich hier am besten an?

    Das Menü:
    Code:
       <ul id="menu">
          <li id="punkt1" class="active">
         <a href="/index.html">
         <span>home</span>
         </a>
         <li id="punkt2">
         <a href="/seite2.php">
         </a>
         </li>
         <li id="punkt3">
         <a href="/seite3.php">
         </a>
         </li>
         <li id="punkt4">
         <a href="/seite4.php">
         </a>
         </li>
        </ul>
    Ein Paradies ist immer dann, wenn einer da ist,
    der wo aufpasst, dass keiner reinkommt.

    -----------------------------------------------------------------------------
    MacBook Pro 15", 2,66GHz, 4GB RAM, iMac, 2,66, 24", 2GB RAM

  2. #2
    Altländer Pfannkuchenapfel Avatar von gKar
    Registriert
    06.2008
    Ort
    Wetter (Ruhr)
    Beiträge
    4.460
    Wozu brauchst Du PHP oder eine serverseitige Skriptsprache?
    Weise doch einfach "#menu li.active a:link" die Anzeige der Grafik zu, so wie Du es beim "#menu a:hover" auch machst. Oder verstehe ich da was falsch? Du verrätst ja auch Deinen CSS-Code nicht.
    * Wer nichts weiß, muss alles glauben.
    * Geduld mit der Streitsucht der Einfältigen! Es ist nicht leicht zu begreifen, dass man nicht begreift.
    Marie von Ebner-Eschenbach

    Mac-Tastaturlayout für Windows (z.B. in Bootcamp oder VM)

  3. #3
    Boskop
    Themenstarter
    Avatar von pepepy
    Registriert
    06.2006
    Ort
    BERLIN
    Beiträge
    209
    Hier habe ich ein PHP-Menü gefunden: http://www.apfeltalk.de/forum/php-cl...ng-t37738.html, kann es aber nicht auf mein spezielles umstricken.
    Wie geht das? Was muss ich tun?
    Bitte um Hilfe.

    Viele Grüße
    pepepy
    Ein Paradies ist immer dann, wenn einer da ist,
    der wo aufpasst, dass keiner reinkommt.

    -----------------------------------------------------------------------------
    MacBook Pro 15", 2,66GHz, 4GB RAM, iMac, 2,66, 24", 2GB RAM

  4. #4
    Boskop
    Themenstarter
    Avatar von pepepy
    Registriert
    06.2006
    Ort
    BERLIN
    Beiträge
    209
    Das Menü ist ein separates Template, dass in alle Seiten über include eingefügt wird.
    Manuell kann ich nichts machen.
    Meine CSS, beispielhaft der erste Menüpunkt (Home = Punkt 1 im oberen Beispiel):
    Code:
    ul#menu {
    	height: 146px;
    	width: 684px;
    	text-align: right;
    	display: block;
    	position: absolute;
    	top: 0;
    	right: 0;
    	padding: 0;
    	margin: 0;
    }	
    
    ul#menu li, ul#menu li a {
    	float: left;
    	list-style: none;
    	padding: 0;
    	margin: 0;
    	width: 114px;
    	height: 146px;
    	text-align: right;
    }
    ul#menu li a span {
    	visibility: hidden;
    }
    
    ul#menu li#home a {
    	background: url(/inc/img/menu/menu_01.jpg) no-repeat;
    }
    	
    ul#menu li#home a:hover,
    ul#menu li#home.active a {
    	background: url(/inc/img/menu/menu-over_01.jpg);
    }
    Ein Paradies ist immer dann, wenn einer da ist,
    der wo aufpasst, dass keiner reinkommt.

    -----------------------------------------------------------------------------
    MacBook Pro 15", 2,66GHz, 4GB RAM, iMac, 2,66, 24", 2GB RAM

  5. #5
    Altländer Pfannkuchenapfel Avatar von gKar
    Registriert
    06.2008
    Ort
    Wetter (Ruhr)
    Beiträge
    4.460
    ul#menu li#home.active a {
    background: url(/inc/img/menu/menu-over_01.jpg);
    }
    Das ist im Prinzip genau das, was ich meinte. Das funktioniert nicht?
    * Wer nichts weiß, muss alles glauben.
    * Geduld mit der Streitsucht der Einfältigen! Es ist nicht leicht zu begreifen, dass man nicht begreift.
    Marie von Ebner-Eschenbach

    Mac-Tastaturlayout für Windows (z.B. in Bootcamp oder VM)

  6. #6
    Boskop
    Themenstarter
    Avatar von pepepy
    Registriert
    06.2006
    Ort
    BERLIN
    Beiträge
    209
    Das funktioniert. Aber nur manuell eingetragen auf jeder Seite.
    Da das Menü ja nur einmal vorhanden ist und in jede Seite eingefügt wird, kann ich es nicht für jede Seite separat einfügen.
    Ein PHP-Script müsste also erkennen auf welcher Seite ich mich befinde und dann das richtige Bild auf .active setzen.
    Vielleicht kann der Seitentitel ausgelesen werden oder Dateiname.
    Ein Paradies ist immer dann, wenn einer da ist,
    der wo aufpasst, dass keiner reinkommt.

    -----------------------------------------------------------------------------
    MacBook Pro 15", 2,66GHz, 4GB RAM, iMac, 2,66, 24", 2GB RAM

  7. #7
    Boskop
    Themenstarter
    Avatar von pepepy
    Registriert
    06.2006
    Ort
    BERLIN
    Beiträge
    209
    Dieses Beispiel aus dem oben genannten Thread kann ich ein wenig verstehen:

    [FONT="Courier New"]$menuArray = array();
    $menuArray[1] = "punkt 1";
    $menuArray[2] = "punkt 2";
    $menuArray[3] = "punkt 3";
    $menuArray[4] = "punkt 4";

    foreach($menuArray as $key => $value)
    {
    $sel = "";

    if($key == $menu)
    $sel = ' class="active" ';

    echo '<a href="index.php?menu='.$key.'" '.$sel.'>'.$value.'</a><br/>';
    }[/FONT]
    Kann es aber nicht umstricken. Bei mir kommt ja die Klasse vor dem Link und jedes Bild (Menüpunkt) hat eine andere ID.
    Und wozu wird in dem Bsp. FONT gebraucht?
    Ein Paradies ist immer dann, wenn einer da ist,
    der wo aufpasst, dass keiner reinkommt.

    -----------------------------------------------------------------------------
    MacBook Pro 15", 2,66GHz, 4GB RAM, iMac, 2,66, 24", 2GB RAM

  8. #8
    Altländer Pfannkuchenapfel Avatar von gKar
    Registriert
    06.2008
    Ort
    Wetter (Ruhr)
    Beiträge
    4.460
    Zitat Zitat von pepepy Beitrag anzeigen
    Das funktioniert. Aber nur manuell eingetragen auf jeder Seite.
    Da das Menü ja nur einmal vorhanden ist und in jede Seite eingefügt wird, kann ich es nicht für jede Seite separat einfügen.
    Aah, jetzt verstehe ich Dein Problem.
    OK, eine Serverskriptsprache, die das dynamisch macht, wäre eine Möglichkeit.
    Ich persönlich mache sowas statisch: D.h. ich schreibe meine Hauptinhalte, Menüs etc. als XML und lasse dann daraus per XSLT die fertigen HTML-Seiten generieren, wobei automatisch bei der Erzeugung einer HTML-Seite eine entsprechende Active-Klasse für den gewünschten Menüpunkt eingefügt wird. Anschließend werden die generierten Seiten auf den Server hochgeladen. So erfolgt diese Berechnung auch nur einmalig bei der Seitengenerierung und nicht jedes Mal neu bei der Seitenauslieferung.
    * Wer nichts weiß, muss alles glauben.
    * Geduld mit der Streitsucht der Einfältigen! Es ist nicht leicht zu begreifen, dass man nicht begreift.
    Marie von Ebner-Eschenbach

    Mac-Tastaturlayout für Windows (z.B. in Bootcamp oder VM)

  9. #9
    Boskop
    Themenstarter
    Avatar von pepepy
    Registriert
    06.2006
    Ort
    BERLIN
    Beiträge
    209
    So, so – da verstehe ich erst recht nix.
    Ein Paradies ist immer dann, wenn einer da ist,
    der wo aufpasst, dass keiner reinkommt.

    -----------------------------------------------------------------------------
    MacBook Pro 15", 2,66GHz, 4GB RAM, iMac, 2,66, 24", 2GB RAM

  10. #10
    Englischer Kantapfel Avatar von _linx_
    Registriert
    01.2009
    Alter
    19
    Beiträge
    1.086
    1. Du definierst deine Seite im XML-Stil... (ganz übertrieben kurz)

    <xml>
    <key>Seite 1</key>
    <string>Ein Text</string>
    </xml>

    2. Du rufst einen Parser auf, der dir aus diesen XML-Dateien HTML-Dateien macht, bei dem das class="active" gleich von alleine immer richtig gesetzt wird. Du hast nun für jede Seite eine HTML-Datei die den ganzen Inhalt besitzt, es wird kein Menü mehr zentral abgeholt.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •