下拉及多級彈出菜單-Web標(biāo)準(zhǔn)(div+css)教程 二維碼
247
下一步就該把二級菜單隱藏,當(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的樣式(有點饒舌),這里設(shè)置為display:block,意思是鼠標(biāo)劃過時顯示這塊內(nèi)容。開始隱藏,鼠標(biāo)劃過時顯示, 這就實現(xiàn)了我們想要的效果。目前IE6只支持a的偽類,其它標(biāo)簽的偽類不支持,所以要想在IE6下也顯示正確,需要借助js來實現(xiàn)。我們定義一個類.sfhover(自己命名,需和JS中相同)的屬性為display:block;然后當(dāng)鼠標(biāo)劃過后,用JS給當(dāng)前l(fā)i添加上這個樣式上,根據(jù)css的優(yōu)先級:指定的高于繼承的原則,就實現(xiàn)了IE6下的正確顯示。所以增加如下代碼: #menu ul li.sfhover ul { display:block;} 認真跟著教程制作的朋友可能已經(jīng)發(fā)現(xiàn),現(xiàn)在應(yīng)用的JS和縱向?qū)Ш綍r應(yīng)用的不樣,但最終實現(xiàn)的效果是一樣的。同理css在布局網(wǎng)站時,也是可以多種方法的,正所謂條條大道通羅馬,希望大家舉一反三,加深前面教程的掌握。JS部分本例不做講解,如果你想弄清楚JS是如何實現(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ù)覽代碼如下:
提示:可以先修改部分代碼后再運行 二、絕對定位和浮動的區(qū)別和運用 學(xué)習(xí)到現(xiàn)在,定位和浮動也都涉及到了,但有些朋友可能還在迷惑,兩者都可以分欄布局,到底什么時候用浮動,什么時候用定位呢? 當(dāng)一個元素使用絕對定位后,它的位置將依據(jù)瀏覽器左上角開始計算或相對于父容器(在父容器使用相對定位時)。 絕對定位使元素脫離文檔流,因此不占據(jù)空間。普通文檔流中元素的布局就當(dāng)絕對定位的元素不存在時一樣。因為絕對定位的框與文檔流無關(guān),所以它們可以覆蓋頁面上的其他元素。 而浮動元素的定位還是基于正常的文檔流,然后從文檔流中抽出并盡可能遠的移動至左側(cè)或者右側(cè)。文字內(nèi)容會圍繞在浮動元素周圍。當(dāng)一個元素從正常文檔流中抽出后,仍然在文檔流中的其他元素將忽略該元素并填補他原先的空間。它只是改變了文檔流的顯示,而沒有脫離文檔流,理解了這一點,就很容易弄明白什么時候用定位,什么時候用浮動了。 一個元素浮動或絕對定位后,它將自動轉(zhuǎn)換為塊級元素,而不論該元素本身是什么類型。 三、 css自適應(yīng)寬度滑動門菜單 CSS自適應(yīng)寬度菜單指菜單的寬度可以隨著內(nèi)容的增加而變寬,就拿上邊的實例來說,是按4個字的寬度來設(shè)計的,如果其中一項為5個字或更多,就放不下了。那么我們就需要讓它的寬度可以隨著內(nèi)容的增減而變化,這就是css自適應(yīng)寬度菜單。下面我們講一下自適應(yīng)寬度按鈕,和菜單原理是一樣,因為自適應(yīng)寬度菜單在《新手常見問題》中已經(jīng)講過了,如果學(xué)會自適應(yīng)按鈕,你還不會制作自適應(yīng)菜單的話,請閱讀http://www.aa25.cn/div_css/898.shtml。 你是否還記得在第五章時學(xué)習(xí)的css按鈕實例(如下圖),當(dāng)時只做了一個按鈕,它這里是三個按鈕,而且寬度不一樣,今天我們還以這個按鈕為基礎(chǔ),制作寬度自應(yīng)適應(yīng)的按鈕。 那么它的實現(xiàn)原來是什么?我們看下邊一張圖。要想實現(xiàn)自適應(yīng)寬度,需要在文字上增加一個輔助標(biāo)簽,如span,分別在a上和span上設(shè)置背景,一個左側(cè)對齊,一個右側(cè)對齊,如下的原理圖, 四條輔助線內(nèi)為一個按鈕元素,綠色部分為span,然后定義它的背景圖片靠右側(cè)對齊,而左側(cè)的部分為a的背景圖片,定義靠左側(cè)對齊。當(dāng)文字多時,會把span撐開,這實現(xiàn)了自適應(yīng)寬度的按鈕了。這里需要一張如下的圖片,它的寬度要寬于你所應(yīng)用的最寬寬度,這樣才能顯示正常,同時根據(jù)以前學(xué)習(xí)的css Sprites技術(shù),把背景圖片和鼠標(biāo)經(jīng)過圖片放到一張圖片上。 拿第五章css按鈕的例子代碼進行修改,先改為背景圖片使用上圖,再增加兩個字數(shù)不等按鈕,并在文字上增加span標(biāo)簽
提示:可以先修改部分代碼后再運行
文章分類:
企業(yè)網(wǎng)站建設(shè)
以信載商,良心建站。遨游始終秉承“一次建站、終身維護”的宗旨,竭誠為客戶提供最優(yōu)質(zhì)的互聯(lián)網(wǎng)服務(wù)。遨游建站率先植入seo優(yōu)化理念,讓你的網(wǎng)頁更利于搜索引擎抓取,關(guān)鍵詞排名更靠前。可仿站、可定制。無論是傳統(tǒng)型企業(yè)官網(wǎng)、集團型品牌官網(wǎng),還是營銷型網(wǎng)站、電商型網(wǎng)站、定制型網(wǎng)站、特殊行業(yè)網(wǎng)站(醫(yī)療、教育),全部搞定。 公司:網(wǎng)站建設(shè)_小程序設(shè)計_競價托管代運營公司;郵箱:1013601535@qq.com 手機:17073547034;QQ: 1013601535 在線留言咨詢,24小時內(nèi)回復(fù)
我想咨詢 *
企業(yè)名稱
手機號碼 *
您的姓名
所在城市 提交 |
網(wǎng)站建設(shè)問題
|