九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
網(wǎng)頁導(dǎo)航下拉菜單原理

小云童鞋在這和大家先講下菜單實(shí)現(xiàn)原理先,技術(shù)大牛呢你應(yīng)該比我更明白的了,此文送給剛?cè)腴T的童鞋的,希望對他們有點(diǎn)點(diǎn)幫助。

進(jìn)入正題:網(wǎng)頁菜單經(jīng)??梢钥吹?,鼠標(biāo)移動(dòng)到注菜單上面,會(huì)彈出對應(yīng)的子菜單。先來個(gè)效果先:重重的點(diǎn)擊我
菜單都是運(yùn)用“顯示和隱藏”,但是當(dāng)中有一些細(xì)節(jié)必須要注意。那要注意什么呢?css的定位,這就對了,相對和絕對定位。相對定位是處于標(biāo)準(zhǔn)流的,也就是說占有空間啦,絕對定位是不處于標(biāo)準(zhǔn)流的,你應(yīng)該明白這吧!所以呢要隱藏的那部分一定要設(shè)置絕對定位。聽的很模糊吧!沒關(guān)系下面有例子說的很明白的哦,給些信心。
導(dǎo)航html一般是這樣構(gòu)建的:<ul id=”nav”>
  <li> <a href=”#”>下拉菜單1</a>
    <ul>
      <li> <a href=”#”>a1</a></li>
      <li> <a href=”#”>a2</a></li>
    </ul>
  </li>
  <li> <a href=”#”>下拉菜單2</a>
    <ul>
      <li> <a href=”#”>b1</a></li>
      <li> <a href=”#”>b2</a></li>
    </ul>
  </li>
  <li> <a href=”#”>下拉菜單3</a>
    <ul>
      <li> <a href=”#”>c1</a></li>
      <li> <a href=”#”>c2</a></li>
    </ul>
  </li>
  <li> <a href=”#”>下拉菜單4</a>
    <ul>
      <li> <a href=”#”>d1</a></li>
      <li> <a href=”#”>d2</a></li>
    </ul>
  </li>
</ul>

這時(shí)到CSS書寫了,這里先不講怎樣美化導(dǎo)航先,把簡單的框架搭建成先。CSS大體是這樣:ul{list-style-type:none; padding:0; margin:0;}
ul li{ float:left;}
ul li ul li{float:none;}
ul li a{width:100px; display:block; text-align:center; text-decoration:none;padding:3px 1px; background-color:#ccc;}
ul li ul a{background-color:#eee;}
ul li a:hover{ background-color:#666; color:#fff;}

這時(shí)半成品出來了

仔細(xì)的你發(fā)現(xiàn)CSS有問題那就是定位問題啦?別急,后面會(huì)慢慢說,耐心點(diǎn)哦!那我們先把下拉的菜單隱藏先,這時(shí)要改CSS了,加上ul li ul{display:none};這行代碼就隱藏啦!變成了

呵呵……離成功不遠(yuǎn)了?,F(xiàn)在問題就出來了。鼠標(biāo)移上去怎樣讓下拉菜單顯示呢?這時(shí)就用到了JS了,因?yàn)镮E6是不支持li偽類的哦。但是我們還是先用li偽類先哦,為了盡快解決上面提出的定位問題。這時(shí)加上一行CSS代碼#nav li:hover ul{display:block;}這時(shí)就實(shí)現(xiàn)了顯示下拉導(dǎo)航了,除IE6外。
這時(shí)問題也出來了,在導(dǎo)航后面加上些文字變成這樣
把鼠標(biāo)移到菜導(dǎo)航下把網(wǎng)頁的內(nèi)容向下推動(dòng)了:

這不是我們想要的,這就是上面CSS沒定位問題了,也是一定要注意的問題,那怎樣改呢,把ul li改成相對定位ul li{ float:left; display:block; position:relative;},在ul li里面的那個(gè)ul(即ul  li ul )改成絕對定位ul li ul{display:none; position:absolute;},就沒問題了。

這時(shí)還是不算成功,IE6是不支持li:hover,雖然也有JS解決IE6也支持li:hover,但這里并不討論這個(gè),所以呢還要用到JS,JQ也行。這里就不解釋JS了,只把代碼貼出來就OK啦!其實(shí)學(xué)習(xí)基礎(chǔ)原理很關(guān)鍵,技術(shù)大牛都是基礎(chǔ)很過關(guān)的。<script>
   /*用jquery實(shí)現(xiàn) $(function(){
      $(“ul>li”).hover(function(){
      $(this).find(“ul”).show();
   },function(){
      $(this).find(“ul”).hide();
   })
   })*/
   //下面是js實(shí)現(xiàn)
   var nav = document.getElementById(“nav”).childNodes;
   for (var i=0;i<nav.length;i++){
    nav[i].onmouseover = function(){fnNav(this,”block”)};
   nav[i].onmouseout = function(){fnNav(this,”none”)};
  }
   function fnNav(obj,flag)
{
 obj.getElementsByTagName(“ul”)[0].style.display = flag;
}
  </script>放在body后面,因?yàn)榧虞dDOM是從上到下的。

呵呵……終于搞完了,成功的實(shí)現(xiàn)了下拉導(dǎo)航。平時(shí)我們見到的漂亮導(dǎo)航原理都是這樣實(shí)現(xiàn)的,只是他們定義的CSS美化導(dǎo)航了。多級(jí)下拉導(dǎo)航原理都是這樣的。寫完了,收工吃飯咯!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
☆下拉菜單代碼注釋
12款非常棒的jquery下拉菜單&導(dǎo)航源碼案例匯總下載
liferay 中添加導(dǎo)航下拉菜單
用純css實(shí)現(xiàn)下拉菜單的幾種方式
CSS 菜單舉一反三
Prestashop教程之目錄導(dǎo)航仿京東商城
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服