Ich habe eine CSS-Drop-down-Nav-Technik, die ich häufig verwende. Hier ist die vereinfachte HTML:Ausrichten Dropdown-Nav zum Hauptmenü mit CSS
<ul id="nav">
<li><a href="#">Menu Item</a>
<span class="subnav">
<a href="#">Submenu Item</a>
<a href="#">Submenu Item</a>
<a href="#">Submenu Item</a>
</span>
</li>
</ul>
Hier ist die vereinfachte CSS:
span.subnav{display:none;}
#nav1 li:hover span.subnav{display:block}
#nav1 li{position:relative;}
span.subnav{position:absolute;top:20px;left:0;}
Das Problem ist bei der Positionierung sub.subnav vertikal, wo ich oben haben: 20px. Ich brauche dieses Element genau an der Unterseite des LI-Elements. Wenn es zu hoch ist, überlappt es den Hauptmenüpunkt. Wenn es zu niedrig ist, besteht eine Lücke zwischen dem Hauptmenüpunkt und dem Sub-Nav, und wenn der Maus über diese Lücke fährt, wird das Sub-Nav unerwartet geschlossen und der Benutzer ist frustriert.
Ich kann es normalerweise genau richtig, bis auf den Pixel (in diesem Beispiel 20px). Einige Browser scheinen die Zeichensätze jedoch nicht exakt zu ändern. Die Höhe des LI-Elements wird durch die darin enthaltene Schriftart bestimmt, so dass es Unterschiede geben kann und meine 20px-Berechnung nicht korrekt ist.
Gibt es eine andere Möglichkeit in CSS, mein spannav-Element an der Unterseite des LI-Elements zu positionieren?
Vielen Dank.
Alternativ 'top: 100%' würde auch (weil es auf die Höhe des LI Element Elternteil bezieht sich hier.) – CBroe
Whoa, es funktioniert! Dieser Hund hat heute etwas Neues gelernt. Ich danke dir sehr! –