css3 - 關(guān)于純用css寫導(dǎo)航鼠標(biāo)移入事件的問題?
問題描述
如何純用css去實(shí)現(xiàn)下面這個(gè)效果:
一級(jí)導(dǎo)航的第一個(gè)導(dǎo)航的二級(jí)導(dǎo)航默認(rèn)是顯示的(其他導(dǎo)航項(xiàng)目的二級(jí)導(dǎo)航是隱藏的display:none;),當(dāng)鼠標(biāo)移到一級(jí)導(dǎo)航的其他導(dǎo)航項(xiàng)目時(shí),默認(rèn)顯示的第一個(gè)二級(jí)導(dǎo)航隱藏,與此同時(shí),鼠標(biāo)移入的導(dǎo)航項(xiàng)的二級(jí)導(dǎo)航顯示,這時(shí)再移開鼠標(biāo)時(shí),回到默認(rèn)狀態(tài)(即顯示第一個(gè)導(dǎo)航的二級(jí)導(dǎo)航)
和QQ音樂導(dǎo)航的效果差不多求解?.?
問題解答
回答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實(shí)現(xiàn)你說的效果,父節(jié)點(diǎn)hover類似于清除子節(jié)點(diǎn)的狀態(tài),子節(jié)點(diǎn)恢復(fù)hover狀態(tài)
回答3:實(shí)現(xiàn)細(xì)節(jié)可參考 Eric Meyer談CSS(卷2) ,原理其實(shí)就是1樓提到的對(duì)hover的處理
回答4:其實(shí)主要問題是如何控制第一個(gè)默認(rèn)顯示的二級(jí)菜單的顯示和隱藏對(duì)吧?可以通過給整個(gè)一級(jí)導(dǎo)航ul添加一個(gè)外套nav來并利用其:hover實(shí)現(xiàn)顯示控制。手機(jī)作答不方便寫代碼,明天早上起來試試。
看了樓上的答案,利用第一級(jí)導(dǎo)航菜單的ul和li即可了。
相關(guān)文章:
1. python如何不改動(dòng)文件的情況下修改文件的 修改日期2. angular.js - 不適用其他構(gòu)建工具,怎么搭建angular1項(xiàng)目3. angular.js - Angular路由和express路由的組合使用問題4. python - django 里自定義的 login 方法,如何使用 login_required()5. java8中,邏輯與 & 符號(hào)用在接口類上代表什么意思6. mysql優(yōu)化 - mysql count(id)查詢速度如何優(yōu)化?7. mysql主從 - 請(qǐng)教下mysql 主動(dòng)-被動(dòng)模式的雙主配置 和 主從配置在應(yīng)用上有什么區(qū)別?8. 主從備份 - 跪求mysql 高可用主從方案9. node.js - node_moduls太多了10. python - 關(guān)于ACK標(biāo)志位的TCP端口掃描的疑惑?
