Ich versuche, ein vertikales Menü zu erstellen, und ich muss ein mehrspaltiges Untermenü erstellen. Mein Code sieht so aus:float geschachtelt li
<style type="text/css" media="screen">
#nav {
width: 100px;
}
#nav li {
position: relative;
background-color: red;
}
#nav li:hover .subnav {
display: block;
}
.subnav {
position: absolute;
top: 0;
left: 100px;
display: none;
}
.subnav > li {
float: left;
}
</style>
<ul id="nav">
<li>
<a href="#">Link 1</a>
<ul class="subnav">
<li>
<ul>
<li>Col 1.1</li>
<li>Col 1.2</li>
</ul>
</li>
<li>
<ul>
<li>Col 2.1</li>
<li>Col 2.2</li>
</ul>
</li>
<li>
<ul>
<li>Col 3.1</li>
<li>Col 3.2</li>
</ul>
</li>
</ul>
</li>
</ul>
Meine Frage ist, warum .subnav> li nicht links schwimmen? Ich möchte das Breitenattribut nicht einstellen, weil ich nicht weiß, wie lang der Untermenüpunkt sein wird.
Sie haben Recht, aber wenn ich die Breite von # nav entferne, heißt das, dass die Breite der Breite der Eltern entspricht (d. H. Körperbreite). In meiner Site befindet sich diese #nav jedoch innerhalb eines Tauchgangs mit einer Breite von 100px. Wenn ich diese #nav außerhalb der div nehme, wird das ganze Layout ein Durcheinander sein. –
Dann sehe ich keine Möglichkeit, die Breite des Subnav einzustellen. Wenn Sie es nur auf die maximal verfügbare Breite setzen (vorausgesetzt, dass der Körper eine feste Breite hat) und ihm einen transparenten Hintergrund geben, sollte es egal sein, wie viele Sub-Nav-Elemente es gibt. – Jacob
danke für deine antwort –