研究表明,導(dǎo)航欄吸引了大多數(shù)瀏覽者的注意力。在存在下拉菜單的導(dǎo)航欄中,具有良好的組織及直觀的印象是最關(guān)鍵的,優(yōu)美的設(shè)計(jì)在開(kāi)發(fā)中也至關(guān)重要。在本教程中,我會(huì)告訴您如來(lái)來(lái)創(chuàng)建一個(gè)緩慢下沉的漂亮的下拉菜單:
第一步:HTML文檔
首先為你的導(dǎo)航創(chuàng)建一個(gè)無(wú)序列表,然后簡(jiǎn)單的寫一下另外一個(gè)無(wú)序列表作為導(dǎo)航子菜單。
- <ul class=“topnav”>
- <li><a href=“#”>Home</a></li>
- <li>
- <a href=“#”>Tutorials</a>
- <ul class=“subnav”>
- <li><a href=“#”>Sub Nav Link</a></li>
- <li><a href=“#”>Sub Nav Link</a></li>
- </ul>
- </li>
- <li>
- <a href=“#”>Resources</a>
- <ul class=“subnav”>
- <li><a href=“#”>Sub Nav Link</a></li>
- <li><a href=“#”>Sub Nav Link</a></li>
- </ul>
- </li>
- <li><a href=“#”>About Us</a></li>
- <li><a href=“#”>Advertise</a></li>
- <li><a href=“#”>Submit</a></li>
- <li><a href=“#”>Contact Us</a></li>
- </ul>
第二步:用CSS定義導(dǎo)航樣式
- ul.topnav {
- list-style: none;
- padding: 0 20px;
- margin: 0;
- float: left;
- width: 920px;
- background: #222;
- font-size: 1.2em;
- background: url(topnav_bg.gif) repeat-x;
- }
- ul.topnav li {
- float: left;
- margin: 0;
- padding: 0 15px 0 0;
- position: relative; /*–Declare X and Y axis base for sub navigation–*/
- }
- ul.topnav li a{
- padding: 10px 5px;
- color: #fff;
- display: block;
- text-decoration: none;
- float: left;
- }
- ul.topnav li a:hover{
- background: url(topnav_hover.gif) no-repeat center top;
- }
- ul.topnav li span { /*–Drop down trigger styles–*/
- width: 17px;
- height: 35px;
- float: left;
- background: url(subnav_btn.gif) no-repeat center top;
- }
- ul.topnav li span.subhover {background-position: center bottombottom; cursor: pointer;} /*–Hover effect for trigger–*/
- ul.topnav li ul.subnav {
- list-style: none;
- position: absolute; /*–Important - Keeps subnav from affecting main navigation flow–*/
- left: 0; top: 35px;
- background: #333;
- margin: 0; padding: 0;
- display: none;
- float: left;
- width: 170px;
- border: 1px solid #111;
- }
- ul.topnav li ul.subnav li{
- margin: 0; padding: 0;
- border-top: 1px solid #252525; /*–Create bevel effect–*/
- border-bottom: 1px solid #444; /*–Create bevel effect–*/
- clear: both;
- width: 170px;
- }
- html ul.topnav li ul.subnav li a {
- float: left;
- width: 145px;
- background: #333 url(dropdown_linkbg.gif) no-repeat 10px center;
- padding-left: 20px;
- }
- html ul.topnav li ul.subnav li a:hover { /*–Hover effect for subnav links–*/
- background: #222 url(dropdown_linkbg.gif) no-repeat 10px center;
- }
第三步:添加jQuery代碼
如果您是jQuery新手,那么請(qǐng)先閱讀這里的教程,下面包含注釋的腳本會(huì)告訴您jQuery是如何來(lái)表現(xiàn)的。
- $(document).ready(function(){
- $(“ul.subnav”).parent().append(“<span></span>”); //Only shows drop down trigger when js is enabled (Adds empty span tag after ul.subnav*)
- $(“ul.topnav li span”).click(function() { //When trigger is clicked…
- //Following events are applied to the subnav itself (moving subnav up and down)
- $(this).parent().find(“ul.subnav”).slideDown(‘fast’).show(); //Drop down the subnav on click
- $(this).parent().hover(function() {
- }, function(){
- $(this).parent().find(“ul.subnav”).slideUp(’slow’); //When the mouse hovers out of the subnav, move it back up
- });
- //Following events are applied to the trigger (Hover events for the trigger)
- }).hover(function() {
- $(this).addClass(“subhover”); //On hover over, add class “subhover”
- }, function(){ //On Hover Out
- $(this).removeClass(“subhover”); //On hover out, remove class “subhover”
- });
- });
作為友好提示,下拉菜單圖標(biāo)只有在支持javascript的的情況下才會(huì)顯示并觸發(fā)。
這是在不支持javascript的情況下的顯示。
點(diǎn)擊這里查看Demo及下載源文件。
注意:在之前,我有增加了圓角的演示版本 (CSS3 - 僅僅在 Firefox, Safar 及 Chrome 獲得支持)。如果您想要嘗試下,那么請(qǐng)查看這里的教程。
嘗試并自定義適合您需要的菜單!如果您有任何問(wèn)題,憂慮,建議或評(píng)論,那么請(qǐng)不要猶豫,告訴我您所知道的吧!
聯(lián)系客服