Navigationsleiste aufklappen lassen

Shanai

Cadet 3rd Year
Registriert
Jan. 2010
Beiträge
51
Hallo Leute,

ich bin gerade dabei ein Intranet aufzubauen. Dieses basiert auf ein Mediawiki. Die Sidebar habe ich soweit meinen Wünschen angepasst, Oberpunkte und deren jeweilige Unterpunkte. Mein Wunsch wäre jetzt nur die Oberpunkte für den User sichtbar zu machen. Klickt man auf den jeweiligen Punkt, lappen die Unterpunkte auf, ansonsten nicht.

Wie geht das?

Viele Grüße

Shanai
 
Wenn in der Firma alle einen modernen Browser (Chrome 6, Safari 5, Firefox 4, Opera 10.7) benutzen, kannst du das kinderleicht mit der CSS3-Pseudoklasse ":target" umsetzen. Für die wahrscheinliche Alternative müsstest du auf JavaScript zurückgreifen. Dazu legst du zunächst eine CSS-Klasse an, welche die Unterpunkte ausblendet. Das Skript reagiert auf die Klicks und entfernt die Klasse dann dynamisch bzw. fügt sie wieder hinzu.
 
Wenn das klicken nicht unbedingt erforderlich ist, dann kannst du das einfach mit CSS lösen. Dies reagiert darauf, das die Maus über das Menü gehalten wird.

Html Code
Code:
  <div id="menu">
    <ul>
      <li class="topmenu">
        <a href="">Datei</a>
        <ul>
          <li class="submenu"><a href="index.php">Ende</a></li>
        </ul>
      </li>
      <li class="topmenu">
        <a href="">Bearbeiten</a>
        <ul>
          <li class="submenu"><a href="">alles makieren</a></li>
          <li class="submenu"><a href="">Kopieren</a></li>
	  <li class="submenu"><a href="">Einfügen</a></li>        
	</ul>
      </li>
     </ul>
  </div>

css
Code:
#menu {
  font-size:14px;
  position:absolute;
  
}

#menu ul {
  list-style-type:none;
  list-style-image:none;
  margin:0px;
  padding:0px;
}

#menu li.topmenu {
  float:left;
}

.topmenu a {
  float:left;
  width:110px;
  text-align:center;
}

.topmenu ul{
  display:none;
}

.topmenu a, .submenu a{
  padding:1px 5px;
  border:1px solid #000;
  border-collapse:collapse;
  color:#000;
  font-weight:bold;
  text-decoration:none;
  background-color:#CCC;
  margin:0;  
}

.submenu a{
  font-size:12px;
  width:110px;
  position:relative;
  clear:both; /* special IE6 */
}

#menu a:hover, .topmenu.on a {
  color:#FFF;
  background-color:#000 !important;
}

.topmenu:hover ul {
  display:block;  
  z-index:500;
}

Kannst ja mal ausprobieren, ob es dir so reicht.
 
Zuletzt bearbeitet:
Wie wär das http://www.cssplay.co.uk/menus/dl-clickslide.html?

Reagiert auf Klick, braucht kein HTML5, CSS3 oder Javascript und funktioniert problemlos in jedem Browser (ausgenommen IE5 und darunter ;)).

Kann man auch mit paar kleinen Änderungen so umbauen, dass die Aufklapp-Links über die gesamte Breite gehen und nicht nur rechts am Rand sitzen.
 
Zuletzt bearbeitet:
Ich würde dir jquery empfehlen, schaut gut aus und ist kinderleicht zu programmieren.
Stichpunkt fadein fadeout... oder eben andere effekte wenn du magst.
 
bei jquery muss man aber auch aufpassen. IE interpretiert da öfters etwas anderes oder kann es einfach nicht^^
 
Zurück
Oben