真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用CSS怎么實現(xiàn)多級菜單

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)使用CSS怎么實現(xiàn)多級菜單,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需制作,是成都網(wǎng)站設(shè)計公司,為隧道混凝土攪拌車提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站維護(hù)熱線:028-86922220


  
  •            菜單一        
  •   
  •            菜單二        
  •   
  •            菜單三        
  •               菜單四        

    結(jié)構(gòu)很熟悉吧,就是把原來放圖片的地方換成文字而已。我還特意標(biāo)出來了。接著下來的表現(xiàn)層代碼非常簡單。

    * {
      margin:0;
      padding:0;
    }
    .menu {
      font-size:12px;
    }
    .menu li {/*水平菜單*/
      float:left;
      list-style:none;
    }
    .menu a {
      display:block;
      position:relative;
      height:32px;
      width:100px;
      line-height:32px;
      background:#a9ea00;
      color:#ff8040;
      text-decoration:none;
      text-align:center;
    }
    .menu a:hover {
      background:#369;
      color:#fff;
    }
    .menu li span {
      display:none;
      position:absolute;
      left:0;
      top:32px;
      width:200px;
      height:150px;
      background:#B9D6FF;
    }
    .menu a:hover span {
      display:block;
    }

    這里有兩個值得注意的地方。我們先說第一個。子菜單(span元素)的top應(yīng)該能使其頂部停留在a元素的范圍內(nèi),如果包含塊是li元素,同理。當(dāng)span的top值大于32px,如40px,我們就無法把鼠標(biāo)移到span元素上。因為離開了a:hover的作用范圍,span元素又重新隱藏。

    .menu li span {
      display:none;
      position:absolute;
      left:0;
      top:40px;/*★★修改這里★★*/
      width:200px;
      height:150px;
      background:#B9D6FF;
    }

    第二個問題是IE6特有的,就是子菜單在對應(yīng)的包含塊mouseout后仍不消失的問題。hover偽類相當(dāng)于moverover與moverout。我們在可以在mouseover給它的子孫元素認(rèn)定一種樣式,mouseout時認(rèn)定另一種。換言之,display現(xiàn)在在IE6無法切換(img元素除外)。解決方法用visibility 代替display。

    好了,現(xiàn)在我們真正做二級菜單,把有關(guān)span的CSS全刪掉,并在結(jié)構(gòu)層原span的位置改為如下代碼:

        
    • 二級菜單_11
    •   
    • 二級菜單_12

    我們在各游覽器看一下,感覺非常乏力。IE6與Opera10的二級菜單項是垂直的,但我們并沒有清除浮動???firefox3.5與chrome與safari4的二級菜單項是水平分布了,但上面好像多出一個菜單項……IE8同學(xué)這次反而是表現(xiàn)得最好的。我沒有裝IE7,所以一向忽略它。

    我們重新設(shè)置一下樣式,如把包含塊改設(shè)在li元素上,讓二級菜單項呈垂直顯示。

    * {
      margin:0;
      padding:0;
    }
    .menu {
      font-size:12px;
    }
    .menu li {/*水平菜單*/
      float:left;
      list-style:none;
      position:relative;/*把包含塊移動li元素*/
    }
    .menu a {
      display:block;
      /*position:relative;發(fā)現(xiàn)放在a元素中,
      在標(biāo)準(zhǔn)游覽器中慘不忍睹,
      和純CSS相冊3的第一個運(yùn)行框在chrome中遇到的bug一樣*/
      height:32px;
      width:100px;
      line-height:32px;
      background:#a9ea00;
      color:#ff8040;
      text-decoration:none;
      text-align:center;
    }
    .menu a:hover {
      background:#369;
      color:#fff;
    }
    /*新增的二級菜單部分*/
    .menu ul ul {
      visibility:hidden;/*開始時是隱藏的*/
      position:absolute;
      left:0px;
      top:32px;
    }
    .menu ul a:hover ul{
      visibility:visible;
    }
    .menu ul ul li {
      clear:both;/*垂直顯示*/
      text-align:left;
    }

    發(fā)現(xiàn)二級菜單在firefox與safari與chrome中沒有反應(yīng),彈不出來(這三個瀏覽器的CSS部分互相抄襲嚴(yán)重?。?。opera10表現(xiàn)得最好,IE8其次。不過,標(biāo)準(zhǔn)瀏覽器的所有元素都支持hover偽類,不像IE6,非帶href的a元素不可。我們改寫部分CSS代碼:

    .menu ul li:hover ul,/*非IE6*/
    .menu ul a:hover ul{/*IE6*/
      visibility:visible;
    }

    二級菜單能彈出來了,但那個神秘的li元素也現(xiàn)形了。我用雙重浮動的收縮包圍(shrink-wrapping)現(xiàn)象都無法消除這個神秘的li元素。參考外國的代碼,方法是,把整個子菜單放到a元素的外面,然后用li:hover控制樣式的切換。于是結(jié)構(gòu)層改寫如下:

    
      
          
    •       菜單一        
                
      • 二級菜單_11
      •         
      • 二級菜單_12
      •       
          
    •     
    •       菜單二       
                
      • 二級菜單_21
      •         
      • 二級菜單_22
      •       
          
    •     
    •     //***************略************     
    •     
    •     //***************略************     
    •   

    css的基本語法是什么

    css的基本語法是:1、css規(guī)則由選擇器和一條或多條聲明兩個部分構(gòu)成;2、選擇器通常是需要改變樣式的HTML元素;3、每條聲明由一個屬性和一個值組成;4、屬性和屬性值被冒號分隔開。

    上述就是小編為大家分享的使用CSS怎么實現(xiàn)多級菜單了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


    網(wǎng)頁標(biāo)題:使用CSS怎么實現(xiàn)多級菜單
    網(wǎng)頁路徑:http://weahome.cn/article/ggigii.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部