• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Horizontale Navigationsleisten nach oben

Deria

New member
Hallo

Ich hoffe mir kann hier geholfen werden.

Mir geht es darum, eine horizontale Navigationsleiste zu machen, wo die Menüpunkte nach oben aufklappen.
Hier ist mal der code wo sie nach unten aufklappen. Kennt sich jemand damit aus ?

mfg
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Dynamische Navigationsleiste</title>

<style type="text/css">
  div#Tmenu {
    font-size: 94%;
    width: 39.8em;
    padding: 0.8em;
    border: 1px solid white;
    background-color: #eee;
  }
  * html div#Tmenu {
    width: 41.4em;
    w\idth: 39.8em;  /* IE 6 in standards-compliant mode */
  }
  div#Tmenu div {
    clear: left;
  }
  ul#Navigation {
    margin: 0; padding: 0;
    text-align: center;
  }

  ul#Navigation li {
    list-style: none;
    float: left;
    position: relative;
    margin: 0.4em; padding: 0;
  }
  * html ul#Navigation li {
    margin-bottom: -0.4em;
  }

  ul#Navigation li ul {
    margin: 0; padding: 0;
    position: absolute;
    top: 1.8em; left: -0.4em;
  }
  * html ul#Navigation li ul {
    left: -1.5em;
    lef\t: -0.4em;
  }
  ul#Navigation li ul li {
    float: none;
    display: block;
    margin-top: 0.2em; margin-bottom: 0.2em;
  }

  ul#Navigation a, ul#Navigation span {
    display: block;
    width: 7em;
    font-family: "Trebuchet MS", "Century Gothic", Helvetica, Arial, sans-serif;
    text-decoration: none; font-weight: bold;
    padding: 0.23em 0.97em 0.17em 1.03em;
    border: 1px solid #600;
    border-left-color: #ea0; border-top-color: #ea0;
    color: white; background-color: #c00;
  }
  * html ul#Navigation a, * html ul#Navigation span {
    width: 9.2em;
    w\idth: 7em;  /* IE 6 in standards-compliant mode */
  }
  ul#Navigation a:hover, ul#Navigation span, li a#aktuell:hover {
    padding: 0.17em 1.03em 0.23em 0.97em;
    border-color: #ea0;
    border-left-color: #900; border-top-color: #900;
    background-color: #e00;
  }
  ul#Navigation li ul a:hover {
    border-color: #900;
  }
  li a#aktuell {
    border-right-color: #300; border-bottom-color: #300;
    background-color: #900;
  }
  ul#Navigation li ul span {
    border-right-color: #c96; border-bottom-color: #c96;
    color: #900; background-color: white;
  }
  ul#Navigation li a:active, ul#Navigation li:hover a:active {
    color: black; background-color: #f00;
  }

/* dynamisches Ein-/Ausblenden */
  ul#Navigation li ul {
    display: none;
  }
  ul#Navigation li:hover ul {
    display: block;
    background: #eee;
  }
</style>

<!--[if IE]>
<script type="text/javascript">
if(window.navigator.systemLanguage && !window.navigator.language) {
  function hoverIE() {
    var LI = document.getElementById("Navigation").firstChild;
    do {
      if (sucheUL(LI.firstChild)) {
        LI.onmouseover=einblenden; LI.onmouseout=ausblenden;
      }
      LI = LI.nextSibling;
    }
    while(LI);
  }

  function sucheUL(UL) {
    do {
      if(UL) UL = UL.nextSibling;
      if(UL && UL.nodeName == "UL") return UL;
    }
    while(UL);
    return false;
  }

  function einblenden() {
    var UL = sucheUL(this.firstChild);
    UL.style.display = "block"; UL.style.backgroundColor = "#eee";
  }
  function ausblenden() {
    sucheUL(this.firstChild).style.display = "none";
  }

  window.onload=hoverIE;
}
</script>
<![endif]-->

</head>
<body>

<br><br><br><br><br><br><br><br>

<div id="Tmenu">
  <ul id="Navigation">
    <li><a id="aktuell" href="#Beispiel">Seite 1</a>
      <ul>
        <li><span>aktuelle Seite</span></li>
        <li><a href="#Beispiel">Seite 1b</a></li>
        <li><a href="#Beispiel">Seite 1c</a></li>
        <li><a href="#Beispiel">Seite 1d</a></li>
      </ul>
    </li>
    <li><a href="#Beispiel">Seite 2</a></li>
    <li><a href="#Beispiel">Seite 3</a>
      <ul>
        <li><a href="#Beispiel">Seite 3a</a></li>
        <li><a href="#Beispiel">Seite 3b</a></li>
        <li><a href="#Beispiel">Seite 3c</a></li>
      </ul>
    </li>
    <li><a href="#Beispiel">Seite 4</a></li>
  </ul>
  <div></div>
</div>

</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Code:
  <ul id="Navigation">
    <li><a id="aktuell" href="#Beispiel">Seite 1</a>
      <ul [COLOR=Green]style="margin-top:-138px;"[/COLOR]>
        <li><span>aktuelle Seite</span></li>
        <li><a href="#Beispiel">Seite 1b</a></li>
        <li><a href="#Beispiel">Seite 1c</a></li>
        <li><a href="#Beispiel">Seite 1d</a></li>
      </ul>
    </li>
    <li><a href="#Beispiel">Seite 2</a></li>
    <li><a href="#Beispiel">Seite 3</a>
      <ul[COLOR=Green] style="margin-top:-110px;"[/COLOR]>
        <li><a href="#Beispiel">Seite 3a</a></li>
        <li><a href="#Beispiel">Seite 3b</a></li>
        <li><a href="#Beispiel">Seite 3c</a></li>
      </ul>
    </li>
    <li><a href="#Beispiel">Seite 4</a></li>
  </ul>
Den Wert von margin-top musst du dann für die jeweilige Höhe der Untermenüs anpassen.
(Das hast du von SelfHtml, oder ;) )
 
Zuletzt bearbeitet von einem Moderator:
Das Problem was ich jetzt noch habe ist dass ich nicht weiß wieviele Einträge ich in einem Menüpunkt haben werde. Also kann ich keinen fix-Wert in px angeben. Gibts dafür auch eine Lösung ?
 
Du gibst dem Ding eine feste Höhe in Pixeln und schreibst noch ein overflow:visible mit rein...
Aber ein nach oben öffnendes Menü ist nicht sehr praktisch, wenn man nicht weiss, wie viele Menüpunkte da noch rein müssen.
 
Deria schrieb:
Das Problem was ich jetzt noch habe ist dass ich nicht weiß wieviele Einträge ich in einem Menüpunkt haben werde. Also kann ich keinen fix-Wert in px angeben. Gibts dafür auch eine Lösung ?

Du musst den Wert von margin-top nur immer anpassen wenn ein neuer Menüpunkt dazukommt. Das ist ja eigentlich keine große Sache. So oft wird da ja wahrscheinlich nix dazukommen.
 
Zurück
Oben