12557: Weniger-Dynamisch

Hallo Liebe Freunde,

eine schnelle kurze Frage.
Ich habe ein CSS-Menü erstellt mit einigen Sub-Menüs usw.

Schaut es euch mal an.

Es ist ganz gut geworden aber irgendwie ist das Menü durch die Dynamik
des CSS ganz schön zappelig geworden.
Gibt es die Möglichkeit die Sub-Menüs stehen zu lassen wenn man sich
auf einer Sub-Menü Seite befindet ? Also so ähnlich wie
.current_page_item nur das das ganze Menü ausgeklappt bleibt?

Wenn ja ist das möglich per CSS?
Wen nein welche skripte kommen in frage?
Habt Ihr vielleicht ein paar Links oder fertige skripte die so etwas können?

Besten Dank euch!

  1. Hi,

    Ich hab mir nicht in konkreten Fall bei dir jetzt angesehen wie du es machst, ich nehme an du machst ein display: none; und bei mousover dann ein display: inline oder ähnliches.

    Im allgemeinen kannst du einfach für den Container oder die Tags die du ausblenden/einblenden möchtest zB eine Klasse erstellen

      
    menu_active {  
    display: inline;  
    }  
      
    menu_inactive {  
    display: none;  
    }
    

    Wenn jetzt eine Unterseite geladen wird, kannst du zB mit php dort die Klasse setzen, sodass du ZB im code sowas hast:

    <div class="${CLASSNAME}">INHALT</div>

    und dann zB mit PHP sagst bei den unterseiten $template->setVariable("CLASSNAME", "menu_active");

    bei den anderen wäre es einfach dann:
    $template->setVariable("CLASSNAME", "menu_inactive");

    Die Idee kannst du deinem Framework entsprechend umsetzen, wenn du direkt mit PHP alles reinschreibst irgendwie so:

    <? php  
    $class ="menu_inactive";  
    switch ($_GET["page_id"]) {  
     case "page1":  
     case "page2":  
     ...  
        $class = "menu_active";  
     break;  
     default:  
        $class ="menu_inactive";  
    }  
      
      
    echo <<<EOF  
    <div class="{$class}">INHALT</div>  
    EOF;  
    ?>
    
    1. Super! Danke für die Antwort.
      Ich sehe das wird nicht ganz leicht. Ich werde mich mal rein fuchsen.

    2. So jetzt habe ich es mir noch mal genau an gesehen.
      Also es ist nicht so ganz einfach weil ich Wordpress benutze. Meine Menü wird wie folgt auf gerufen:

        
                  	<div id="access" role="navigation">  
      			 	<?php /*  Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>  
      				<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>"><?php _e( 'Skip to content', 'twentyten' ); 	  
      				?></a></div>  
      				<?php /* Our navigation menu.  If one isn't filled out, wp_nav_menu falls back to wp_page_menu.  The menu assiged to the primary position is the one used.  If none is 		  
      				assigned, the menu with the lowest ID is used.  */ ?>  
      				<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>  
      
      

      Bedeutet ich komm da nicht so einfach an die Klassen ran um sie per PHP zu ändern. Oder täusch ich mich?