1
我試圖通過給出主菜單的il
相對位置和ul
它的絕對位置,使元素下的子菜單的菜單。爲什麼子菜單將ul
視爲容器,而不是它的父母li
?如何在容器中放置絕對元素?
的HTML:
<nav>
<ul>
<li><a href="#">Menu Item 1</a></li>
<li><a href="#">Menu Item 2</a>
<ul>
<li><a href="#">Submenu Item 1</a></li>
<li><a href="#">Submenu Item 2</a></li>
<li><a href="#">Submenu Item 3</a></li>
</ul>
</li>
<li><a href="#">Menu Item 3</a></li>
<li><a href="#">Menu Item 4</a></li>
<li><a href="#">Menu Item 5</a></li>
</ul>
</nav>
的CSS:
nav a {
float: left;
padding: 10px;
border: solid 1px #C0C0C0;
margin-left: -1px;
}
nav li {
position: relative;
}
nav li ul {
position: absolute;
}
只是出於好奇:爲什麼當我使用'左:-9999px;'每個內部'a'的長度都是根據其內容而定的,但是當我將其刪除時,它們的大小都根據其父'li'來確定? – ilyo
不確定你的意思。所有剩下的:-9999px正在做的是將UL方式向左移動9999px,這樣你就看不到它了。然後,當您懸停時,它會將'left'屬性更改爲'0',從而將其返回到原來的位置。 –
我知道。使用隱藏技術時,請查看子菜單項的寬度,然後簡單地刪除'left:-9999px;'並再次查看它們的寬度。 – ilyo