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