第八章:下拉及多級彈出菜單 二維碼
192
第一行設置二級菜單的灰色邊框;為了美觀,我們把下拉菜單的寬度設置成和一級菜單寬度相同,第二行的width:85px再加上第一行上設置的邊框左右各1px后正好是87px,和一級菜單寬度相同。margin:0是為了清除掉繼承一級菜單中margin-left:2px;最后一行設置鼠標劃過時的樣式。 再預覽一下,是不是基本的樣式已實現了。 下一步就該把二級菜單隱藏,當鼠標劃過時顯示出來了。增加如下代碼: #menu ul li ul { display:none; border:1px solid #ccc;} #menu ul li:hover ul { display:block;} 注意第二行的寫法,#menu ul li:hover ul這個樣比較難理解,它的意思是定義當鼠標劃過#menu下ul下li時,li下的ul的樣式(有點饒舌),這里設置為display:block,意思是鼠標劃過時顯示這塊內容。開始隱藏,鼠標劃過時顯示, 這就實現了我們想要的效果。目前IE6只支持a的偽類,其它標簽的偽類不支持,所以要想在IE6下也顯示正確,需要借助js來實現。我們定義一個類.sfhover(自己命名,需和JS中相同)的屬性為display:block;然后當鼠標劃過后,用JS給當前li添加上這個樣式上,根據css的優先級:指定的高于繼承的原則,就實現了IE6下的正確顯示。所以增加如下代碼: #menu ul li.sfhover ul { display:block;} 認真跟著教程制作的朋友可能已經發現,現在應用的JS和縱向導航時應用的不樣,但最終實現的效果是一樣的。同理css在布局網站時,也是可以多種方法的,正所謂條條大道通羅馬,希望大家舉一反三,加深前面教程的掌握。JS部分本例不做講解,如果你想弄清楚JS是如何實現的,請學習js相關內容。到這里,本例就基本完成了,還有一個問題是當前導航下有內容的話,如果二級菜單顯示,將會把下邊的內容擠跑,所以需要給#menu ul li ul增加position:absolute;屬性,當其絕對定位后,它將脫離原來文檔流,不再占據空間,因此也不會再把下邊內容擠跑了。完整的預覽代碼如下:
提示:可以先修改部分代碼后再運行 以信載商,良心建站。遨游始終秉承“一次建站、終身維護”的宗旨,竭誠為客戶提供最優質的互聯網服務。遨游建站率先植入seo優化理念,讓你的網頁更利于搜索引擎抓取,關鍵詞排名更靠前。可仿站、可定制。無論是傳統型企業官網、集團型品牌官網,還是營銷型網站、電商型網站、定制型網站、特殊行業網站(醫療、教育),全部搞定。 公司:網站建設_小程序設計_競價托管代運營公司;郵箱:1013601535@qq.com 手機:17073547034;QQ: 1013601535 在線留言咨詢,24小時內回復
我想咨詢 *
企業名稱
手機號碼 *
您的姓名
所在城市 提交 |
網站建設問題
熱門標簽
|