css3 - 關于純用css寫導航鼠標移入事件的問題?
問題描述
如何純用css去實現下面這個效果:
一級導航的第一個導航的二級導航默認是顯示的(其他導航項目的二級導航是隱藏的display:none;),當鼠標移到一級導航的其他導航項目時,默認顯示的第一個二級導航隱藏,與此同時,鼠標移入的導航項的二級導航顯示,這時再移開鼠標時,回到默認狀態(即顯示第一個導航的二級導航)
和QQ音樂導航的效果差不多求解?.?
問題解答
回答1:大概是這樣HTML:<ul class='nav'> <li><ul class='subnav'>...</ul> </li> <li><ul class='subnav'>...</ul> </li> <li><ul class='subnav'>...</ul> </li></ul>CSS:
.nav li:first-child .subnav{ display: block;}.nav:hover li:first-child .subnav{ display: none;}.nav:hover li:hover .subnav{ display: block;}回答2:
感覺可以通過寫ul:hover和li:hover實現你說的效果,父節點hover類似于清除子節點的狀態,子節點恢復hover狀態
回答3:實現細節可參考 Eric Meyer談CSS(卷2) ,原理其實就是1樓提到的對hover的處理
回答4:其實主要問題是如何控制第一個默認顯示的二級菜單的顯示和隱藏對吧?可以通過給整個一級導航ul添加一個外套nav來并利用其:hover實現顯示控制。手機作答不方便寫代碼,明天早上起來試試。
看了樓上的答案,利用第一級導航菜單的ul和li即可了。
相關文章:
1. sql語句 - mysql中關聯表查詢問題2. css - chrome下a標簽嵌套img 顯示會多個小箭頭?3. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?4. javascript - iframe 為什么加載網頁的時候滾動條這樣顯示?5. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變6. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。7. javascript - 有什么比較好的網頁版shell前端組件?8. html - vue項目中用到了elementUI問題9. mysql updtae追加數據sql語句10. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?
