它已經有一段時間 - 但我發現自己在網絡發展的一個新的退出愛好,我希望你能幫助我解決了以下問題:CSS垂直菜單與子菜單標註重疊
我正在工作個人網站。內容等都是初步的。我主要關注的是左側的垂直菜單。儘管我對目前的外觀非常滿意,但仍然存在一些問題:
1)我不得不將轉換設置爲「0」,這樣我在主菜單懸停和將鼠標懸停在子菜單上。因此,如果我將鼠標懸停在主菜單項之間,由於逐步淘汰,它們會短暫重疊。有沒有辦法解決這個問題? (焦點選擇器可能是一個選項,但需要點擊菜單項,我更喜歡懸停)
2)子菜單對齊到主菜單裏的頂部。因此,最後一項的子(測試)超出頁面邊界,在頁面下方留下空白。如果子菜單壓在整個身體的邊緣上,是否有辦法使子菜單向上移動? 我可能可以給它一個不同的標籤,並以不同的方式進行設計,我希望有更通用的解決方案。
3)小問題:當從主菜單懸停切換到子菜單懸停時,主圖標「閃爍」非常短暫。這是正常的行爲嗎?當然不漂亮。
4)最後但並非最不重要:由於這是我第一次做一個網站,我將非常感謝您獲得關於代碼中效率低下的一般反饋,所以我可以在未來更加精益。
(見下更新小提琴 - 完整的代碼去除,以節省空間)
感謝您的幫助!
編輯 感謝您的答案 - 問題#1已被使用您介紹的方法解決!
但是,最後的子菜單仍然讓我頭疼。
如果我使用「最後孩子」選擇器,並在下面添加代碼,它不會改變任何東西。但是,如果我使用完全相同的代碼爲最後一個「泡泡」指定不同的標籤,則泡泡將與最後一個主菜單項目的底部對齊,但包含的UL保持不變。
正如您從原始CSS中看到的,最後一個「相對」是主菜單IL,那麼子菜單和包含的UL不應該與它們各自的父母/祖父母的底部對齊嗎?
和附帶的新代碼(有完整的代碼更新小提琴:繼承人Fiddle ...使用大屏幕,結果看到對齊問題):
.navigation ul li:last-child {
border: solid orange;
}
.navigation .bubble_last{
position: absolute;
margin-top: 0%;
padding: 0px;
left: 60px;
bottom: 0px;
width: 400px;
height: 200px;
border: solid red;
}
.navigation .bubble_last ul{
position: absolute;
left: 0;
bottom: : 0px;
margin-top: 0px;
padding: 0px;
width: 20vw;
height: 100px;
font-size: 15px;
font-size: 1.2vw;
font-weight: 400;
border: solid blue;
margin-left: 28%;
display: block;
}
.navigation .bubble_last ul li {
list-style: none;
background-color: none;
border-radius: 3px;
height: 2vw;
line-height: 1.2vw;
width: 20vw;
position: relative;
padding-top: 0px;
margin: 0;
padding: 0;
}
似乎很容易和足夠優雅! 對於第二個問題,關於頁面底部看到的過度膨脹的最後一個子菜單,您是否有任何線索?有沒有解決方案,還是我有獨立的風格? – chimp
@chimp我已經用第二個問題的解決方案更新了我的答案。 [**小提琴**](https://jsfiddle.net/xbjjbqpz/1/) – trevorp
太棒了!非常感謝。 – chimp