天天看點

CSS實作三級下拉菜單分析

最近在幫同學寫一個部落格,由于他需要的欄目比較多,是以首頁需要三級下拉菜單,從網上找一個,但是不可以直接用!由于前台沒有寫的太好,是以一些css代碼沒有看懂,是以我就分析了一下别人的代碼,然後用到了自己的網站上,下面是我最後實作的效果。

CSS實作三級下拉菜單分析

下面分析一下我找的代碼:

實作效果如下:

CSS實作三級下拉菜單分析

代碼以及注釋如下,一些标簽的意思已在注釋上标明:

主要思想:就是改變ul的display屬性

一開始ul的display屬性是none不顯示,當a标簽hover的時候,改變ul的display屬性使它成為display:block

也就是display:none ------>display:block的變化

其中加入了一些過渡的屬性,要不直接放在一級菜單上,二級菜單直接出來,看着有點不舒服,是以加了一點過渡屬性

-webkit-transition: all 1s;   /*Firefox4*/
        -moz-transition: all 1s;    /*Safari and Chrome*/
        -o-transition: all 1s;     /* Opera*/
        transition: all 1s;
           
<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        nav {     
   margin: 100px auto; 
   text-align: center;
}
 
nav ul ul {
    display: none;   /*該元素不會顯示*/
}
 
    nav ul li:hover > ul {   /* > 子菜單選擇器 滑鼠在li上的時候 改變子ul的display屬性*/
        display: block;
    }
 
 
nav ul {
   background: #efefef; 
   background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);   /*背景的一些設定 漸變*/
   background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%); 
   background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%); 
   box-shadow: 0px 0px 9px rgba(0,0,0,0.15); */
     padding: 0 20px; */
    border-radius: 10px;    /*圓角邊框*/
    list-style: none;  /*所有的清單屬性*/
    position: relative; /*相對定位ul的位置*/
    display: inline-table;  /*内斂表格*/
}
    nav ul:after {   /* css after選擇器 */
        content: ""; 
        clear: both; 
        display: block;
    }
 
    nav ul li {
        /*
            transition 屬性是一個簡寫屬性,用于設定四個過渡屬性:
            transition-property
            transition-duration
            transition-timing-function
            transition-delay

            transition前面的參數是相容浏覽器用的
        */
         -webkit-transition: all 1s;   /*Firefox4*/
        -moz-transition: all 1s;    /*Safari and Chrome*/
        -o-transition: all 1s;     /* Opera*/
        transition: all 1s;
        float: left;  /*使豎向菜單變為橫向菜單*/
    }

        nav ul li:hover {  
            background: #4b545f;
             background: -webkit-linear-gradient(#4f5964 0%, #5f6975 40%);
             background: -o-linear-gradient(#4f5964 0%, #5f6975 40%);
             background: linear-gradient(#4f5964 0%, #5f6975 40%); 
        }
            nav ul li:hover a {
                color: #fff;
            }
         
        nav ul li a {
            display: block;  /*使a标簽變成塊狀*/
            padding: 25px 40px; /*a标簽左右的距離*/
            color: #757575; 
            text-decoration: none; /*文本的屬性*/
        }
             
         
    nav ul ul {
        background: #5f6975;
        border-radius: 0px; padding: 0;
        position: absolute; /*定義子ul的位置*/
         top: 100%;  
    }
        nav ul ul li {
            float: none;  /*清楚子ul裡面li标簽的浮動*/
            border-top: 1px solid #6b727c; /*下拉菜單中的分割線*/
            border-bottom: 1px solid #575f6a; 
            position: relative;
        }
            nav ul ul li a {
                padding: 15px 40px;
                color: #fff;
            }   
                nav ul ul li a:hover {
                    background: #4b545f;
                }
         
    nav ul ul ul{
        position: absolute; left: 100%; top:0;
    }
    </style>
</head>
<body>
    <nav>
    <ul>
        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Home</a></li>
        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Tutorials</a>
            <ul>
                <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Photoshop</a></li>
                <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Illustrator</a>
                    <ul>
                        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >HTML</a></li>
                        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >CSS</a></li>
                         <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >HTML</a></li>
                        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >CSS</a></li>
                        
                    </ul>
                </li>
                <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Web Design</a>
                    <ul>
                        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >HTML</a></li>
                        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >CSS</a></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Articles</a>
            <ul>
                <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Web Design</a></li>
                <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >User Experience</a></li>
            </ul>
        </li>
        <li><a href="#" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >Inspiration</a></li>
    </ul>
</nav>
</body>
</html>