整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          「前端制作」移動端側(cè)邊滑出導(dǎo)航欄

          「前端制作」移動端側(cè)邊滑出導(dǎo)航欄

          動端側(cè)邊滑出導(dǎo)航欄是一種常見的UI設(shè)計,可以提升用戶體驗和導(dǎo)航的可用性。本文將詳細(xì)介紹如何利用前端技術(shù)實現(xiàn)移動端側(cè)邊滑出導(dǎo)航欄,并給出相關(guān)的代碼示例。

          首先,我們需要一個觸發(fā)導(dǎo)航欄滑出的按鈕。通常情況下,這個按鈕會放在頁面的頂部或者底部,以便用戶方便點(diǎn)擊。我們可以使用HTML和CSS來創(chuàng)建這個按鈕。

          HTML代碼如下所示:

          ```html菜單```

          CSS代碼如下所示:

          ```css.nav-button { position: fixed; top: 20px; left: 20px; width: 60px; height: 60px; background-color: #000; color: #fff; border: 0; border-radius: 50%; font-size: 16px;}```

          以上代碼創(chuàng)建了一個圓形的按鈕,并設(shè)置了一些基本樣式,可以根據(jù)實際需求進(jìn)行調(diào)整。

          接下來,我們需要實現(xiàn)導(dǎo)航欄滑出的效果。可以使用CSS來實現(xiàn),具體代碼如下:

          HTML代碼如下所示:

          ```html```

          CSS代碼如下所示:

          ```css.nav-menu { position: fixed; top: 0; left: -80%; width: 80%; height: ; background-color: #fff; transition: all 0.3s ease;}

          .nav-menu.open { left: 0;}

          .nav-menu ul { list-style: none; padding: 0; margin: 0;}

          .nav-menu ul li { padding: 10px 20px; border-bottom: 1px solid #ccc; cursor: pointer;}

          .nav-menu ul li:last-child { border-bottom: none;}```

          以上代碼創(chuàng)建了一個導(dǎo)航欄,并設(shè)置了一些基本樣式。使用左側(cè)負(fù)值的left屬性隱藏了導(dǎo)航欄,當(dāng)給導(dǎo)航欄添加open類名后,left屬性變?yōu)?,導(dǎo)航欄就可以滑出。

          接下來,我們需要使用JavaScript來處理按鈕的點(diǎn)擊事件,實現(xiàn)導(dǎo)航欄的滑出和收起。可以使用以下代碼:

          ```javascriptconst navButton=document.querySelector('.nav-button');const navMenu=document.querySelector('.nav-menu');

          navButton.addEventListener('click', ()=> { navMenu.classList.toggle('open');});```

          以上代碼添加了一個點(diǎn)擊事件監(jiān)聽器,當(dāng)按鈕被點(diǎn)擊時,toggle方法會切換導(dǎo)航欄元素的open類,從而實現(xiàn)導(dǎo)航欄的滑出和收起效果。

          至此,我們已經(jīng)完成了移動端側(cè)邊滑出導(dǎo)航欄的制作。當(dāng)用戶點(diǎn)擊按鈕時,導(dǎo)航欄將從左側(cè)滑出,再次點(diǎn)擊按鈕時,導(dǎo)航欄將收起。這種交互方式可以為用戶提供良好的導(dǎo)航體驗。

          總結(jié)一下,要實現(xiàn)移動端側(cè)邊滑出導(dǎo)航欄,我們需要使用HTML、CSS和JavaScript。通過添加一個按鈕和一個導(dǎo)航欄元素,利用CSS的transition屬性和JavaScript的事件監(jiān)聽器,可以輕松實現(xiàn)這一效果。希望本文的內(nèi)容對你有所幫助。

          一個網(wǎng)站都有自己的導(dǎo)航菜單,如:頭部導(dǎo)航菜單,底部導(dǎo)航菜單,側(cè)邊欄導(dǎo)航菜單,wordpress網(wǎng)站也不例外。那么,在wordpress網(wǎng)站主題模板開發(fā)中,我們怎樣給wordpress網(wǎng)站添加前臺的導(dǎo)航菜單呢?嗯,據(jù)我多年的開發(fā)經(jīng)驗發(fā)現(xiàn),wordpress為wordpress主題開發(fā),主要提供了三種導(dǎo)航菜單的創(chuàng)建方式,這三種方式會創(chuàng)建不一樣的導(dǎo)航功能。今天,我們就來看看第一種wordpress網(wǎng)站創(chuàng)建導(dǎo)航菜單的方式——基于page頁面的導(dǎo)航菜單。這里,我們會用到wordpress提供的函數(shù)——wp_list_pages(),這是一個wordpress頁面列表的函數(shù)。

          我們先來看一下這個wordpress函數(shù)——wp_list_pages(),看看它的結(jié)構(gòu)。

          wp_list_pages($defaults);

          從上面的代碼中,我們可以看到,wp_list_pages()函數(shù)只有一個參數(shù),這個參數(shù)有兩種類型,可以是字符串類型,也可以是數(shù)組類型。這個我們在下面的實例中會做相應(yīng)的介紹。為了方便了解這個參數(shù)的值,我們這里以數(shù)組的形式來解說一下這個參數(shù)。

          參數(shù)介紹:

          $defaults=array('depth'=>0, //0:顯示所有頁面和子頁面,按層級顯示;//1:只顯示頂級頁面;//2:顯示2級頁面;//-1:顯示所有頁面和子頁面,不按層級顯示;

          'show_date'=>'', //是否顯示創(chuàng)建日期

          'date_format'=> get_option('date_format'),//日期格式

          'child_of'=>0, //指定父頁面ID號,顯示這個父頁面下的子頁面;0表示顯示所有子頁面;

          'exclude'=>'', //排除哪些頁面

          'include'=>'', //包含哪些頁面

          'title_li'=>'Pages', //是否顯示頁面列表的標(biāo)題,如果不顯示,設(shè)為空;這里設(shè)置標(biāo)題為“Pages”

          'echo'=>1, //是否打印到前臺頁面顯示出來。1表示顯示,0表示不顯示,而是只獲取值。

          'authors'=>'', //指定特定作者創(chuàng)建的頁面

          'link_before'=> '', //鏈接<a>前的內(nèi)容'link_after'=>'', //鏈接<a>后的內(nèi)容

          'exclude_tree'=>'', //排除父級/子級樹

          'sort_column'=>'menu_order', //排序方式,menu_order按后臺設(shè)置;post_date按發(fā)布時間,post_modified按修改時間;

          'sort_order'=> 'DESC', //排序順序,ASC順序,DESC是倒序);

          可以看到,這個wp_list_pages()函數(shù)的參數(shù)值有很多,在我們wordpress主題模板開發(fā)的實際操作中,一般只會使用其中的幾個。

          下面,我們通過案例來介紹wp_list_pages()函數(shù)是如何生成基于page頁面的導(dǎo)航菜單的。我們先來看一下,wordpress網(wǎng)站后臺都創(chuàng)建了哪些page單頁面,如下圖:


          從上圖中,我們可以看到,這個wordpress網(wǎng)站后臺有6個頁面,其中,“投稿”是“子頁面1”和“子頁面2”的父級頁面。

          案例1:我們在wordpress網(wǎng)站模板的頭部添加如下代碼:

          $menu=array( 'depth'=>0, 'title_li'=>'頁面導(dǎo)航菜單', 'echo'=>1, );wp_list_pages($menu);

          我們再到wordpress網(wǎng)站的前臺頁面看一下效果,如下圖:


          我們可以看到,頁面導(dǎo)航展示了出來,子頁面按層級展示——縮進(jìn)2格。

          案例2:我們來修改一個參數(shù)代碼,標(biāo)題設(shè)置為空,添加一個排序參數(shù),并修改一下層級參數(shù)值,代碼如下:

          $menu=array( 'depth'=>1, 'title_li'=>'頁面導(dǎo)航菜單', 'echo'=>1, 'sort_order'=> 'DESC','sort_column'=>'menu_order',);wp_list_pages($menu);

          這時,我們再來看看wordpress網(wǎng)站前臺頁面的效果,如下圖:


          ?我們可以看到,導(dǎo)航菜單的標(biāo)題不見了,而且層級沒有了,排序也發(fā)生了變化,按頁面名稱的倒序來進(jìn)行排列。wp_list_pages()的參數(shù)很多,這里不做一一演示,都很簡單。

          案例3:wp_list_pages()函數(shù)的參數(shù)用字符串類型。

          我人在開頭說過,wp_list_pages()函數(shù)的參數(shù)有2種類型,可以是字符串類型,也可以是數(shù)組類型。數(shù)組類型我們在前2個案例中已經(jīng)使用過了。這里,我們再來以字符串類型來做一次介紹。

          這里我們拿案例的代碼來演示,把數(shù)組類型的參數(shù)換成字符串的類型,代碼如下:

          wp_list_pages("depth=1&title=&echo=1&sort_order=DESC&sort_column=menu_order");

          上面的代碼中,我們用到了一個連接符&這個特殊符號,它是用來連接多個參數(shù)。中間的=這個符號,就不用解釋了,是等于號。通過這句代碼,我們同樣達(dá)到案例2的效果。

          如果想讓這個基于page頁面的導(dǎo)航菜單能在頂部橫排顯示,可以修改wordpress網(wǎng)站模板的CSS文件的代碼,修改它的樣式,就可以了。這里就不多說了。

          這節(jié)課就介紹到這里,以上就是我的觀點(diǎn),如有不同觀點(diǎn),歡迎發(fā)表評論。同時,歡迎【點(diǎn)贊、分享、收藏】和【關(guān)注】我。

          篇文章,小海老師帶領(lǐng)大家一同做一個利用CSS技術(shù)實現(xiàn)的導(dǎo)航欄。通過這個導(dǎo)航欄的制作,希望大家能夠?qū)η皫灼恼轮袑W(xué)習(xí)到的CSS屬性能有一個整體的認(rèn)識,并能夠達(dá)到靈活運(yùn)用的程度。

          承接文章:靈活控制塊級元素在一行內(nèi)顯示,CSS浮動屬性,知道原理就很簡單

          技術(shù)等級:初級 | 適合前端開發(fā)的初學(xué)者閱讀學(xué)習(xí)。

          希望收藏了這篇文章的你同時也可以關(guān)注一下“小海前端”的頭條號,因為這些文章都是連載的,并且是經(jīng)過系統(tǒng)的歸納和總結(jié)的。塌下心來認(rèn)真閱讀,你一定會學(xué)到對你有用的知識。

          如果你是初學(xué)前端開發(fā),強(qiáng)烈建議跟著文章中講的步驟自己做一做。步驟不多,思路簡單,占用不了大家太多的時間,自己做一遍,一定會收獲不少。

          一、導(dǎo)航欄效果圖展示:

          今天我們要做的導(dǎo)航欄效果如下圖所示。

          導(dǎo)航欄效果圖展示

          這個效果主要使用的是<ul></ul>標(biāo)記對和<a></a>標(biāo)記對共同實現(xiàn)的。

          整個實例涉及到的CSS屬性如下所示:

          • width

          • height

          • background-color

          • list-style-type

          • display

          • float

          • margin

          • line-height

          二、實現(xiàn)頁面效果:

          首先為導(dǎo)航欄設(shè)置一個<div>容器,并設(shè)置其id屬性的取值設(shè)置為nav。該容器用來控制導(dǎo)航欄的通欄位置。通欄的容器寬度應(yīng)該設(shè)置為100%,這里高度設(shè)置為40px,顏色為#a72f2e。實現(xiàn)代碼如下所示:

          <div id=”nav”></div>

          #nav{

          width:100%; height:40px;

          background-color:#a72f2e;

          }

          由于要在通欄的容器中顯示固定寬度為1000px的導(dǎo)航欄主體,因此在該容器內(nèi)部再制作一個<div>容器,用來盛放真正的導(dǎo)航欄代碼。我們將它的class屬性取值為navContent。這個容器的寬度設(shè)置為1000px,高度與#nav的高度等高,并且在#nav容器內(nèi)部水平居中。實現(xiàn)代碼如下所示:

          <div class=”navContent”></div>

          #nav .navContent{

          width:1000px; height:40px;

          margin:0 auto;

          }

          接下來在.navContent容器內(nèi)部書寫導(dǎo)航欄的各個條目。導(dǎo)航欄是使用<ul></ul>標(biāo)記對實現(xiàn)的,而它的導(dǎo)航欄條目是利用<li></li>標(biāo)記對書寫的。因為導(dǎo)航欄需要單擊后跳轉(zhuǎn)頁面,所以在<li></li>內(nèi)部使用了<a></a>標(biāo)記對。

          這里要說明一點(diǎn),因為<li></li>標(biāo)記對是塊級元素,<a></a>標(biāo)記對是內(nèi)聯(lián)元素,因此要讓<li></li>標(biāo)記對包裹<a></a>標(biāo)記對,不要用<a></a>標(biāo)記對包裹<li></li>標(biāo)記對。

          這里以導(dǎo)航欄條目“首頁”和“網(wǎng)站介紹”為例,下列HTML代碼展示了導(dǎo)航欄的條目內(nèi)容。

          <ul>

          <li><a href="index.html">首頁</a></li>

          <li><a href="#">網(wǎng)站簡介</a></li>

          </ul>

          需要更多的導(dǎo)航欄條目,可以在<ul>標(biāo)記對內(nèi)部重復(fù)書寫<li></li>和<a></a>的代碼格式。

          三、編寫整個導(dǎo)航欄的CSS樣式:

          整個導(dǎo)航欄是使用<ul></ul>標(biāo)記對實現(xiàn)的,所以需要對<ul></ul>標(biāo)記對編寫CSS樣式。

          由于無序列表的列表項左側(cè)帶有小圓點(diǎn)的項目符號,因此需要將該項目符號去掉。所以<ul></ul>標(biāo)記對的CSS代碼如下所示:

          #nav .navContent ul{

          list-style-type:none;

          }

          四、編寫導(dǎo)航欄條目的CSS樣式:

          導(dǎo)航欄條目是使用<li></li>標(biāo)記對實現(xiàn)的,所以需要對<li></li>標(biāo)記對編寫CSS樣式。

          由于<li></li>標(biāo)記對是塊級元素,因此即使去掉了左側(cè)的項目符號,所有的條目依然都各自獨(dú)占一行顯示,所以需要讓它們在一行內(nèi)顯示,這就需要讓所有的<li></li>標(biāo)記對左浮動。CSS代碼如下所示:

          #nav .navContent ul li{

          float:left;

          }

          五、編寫導(dǎo)航欄條目中鏈接的CSS樣式:

          導(dǎo)航欄條目中的鏈接是使用<a></a>標(biāo)記對實現(xiàn)的,所以需要對<a></a>標(biāo)記對編寫CSS樣式。

          由于<a></a>標(biāo)記對是內(nèi)聯(lián)元素,因此無法設(shè)置寬度和高度,也就無法為每一個導(dǎo)航欄條目設(shè)置尺寸。因此需要將<a></a>標(biāo)記對轉(zhuǎn)換為塊級元素(display屬性),然后設(shè)置寬度和高度(width屬性和height屬性)。

          有了寬度和高度,就需要讓鏈接的文本在容器中水平居中(text-align屬性)和垂直居中(line-height屬性)了。

          最后去掉鏈接的下劃線(text-decoration屬性),并設(shè)置鏈接的文本顏色(color屬性)。

          導(dǎo)航欄條目中鏈接的CSS代碼如下所示:

          #nav .navContent ul li a{

          display:block;

          width:100px; height:40px;

          text-align:center;

          line-height:40px;

          text-decoration:none;

          color:#dddddd;

          }

          六、編寫鼠標(biāo)經(jīng)過導(dǎo)航欄條目時的CSS樣式:

          鼠標(biāo)經(jīng)過導(dǎo)航欄目時,即使沒有觸碰到鏈接的文本部分,也應(yīng)該能夠進(jìn)行跳轉(zhuǎn)。因此需要對<a></a>標(biāo)記對編寫鼠標(biāo)經(jīng)過時的CSS樣式。

          鼠標(biāo)經(jīng)過時,希望背景顏色(background-color屬性)和文本顏色(color屬性)發(fā)生變化。

          鼠標(biāo)經(jīng)過鏈接時的CSS代碼如下所示:

          #nav .navContent ul li a:hover{

          background-color:#ff5857;

          color:#ffffff;

          }

          七、整體代碼:

          至此,這個簡單的導(dǎo)航欄效果就完全實現(xiàn)了,CSS整體使用了約30行代碼。實現(xiàn)這個導(dǎo)航欄效果的HTML代碼如下圖所示。

          HTML整體代碼

          實現(xiàn)這個導(dǎo)航欄效果的CSS代碼如下圖所示。

          CSS整體代碼

          小海教材

          如果大家希望得到更加全面的關(guān)于HTML和CSS技術(shù)講解的內(nèi)容,可以私信我,我會免費(fèi)將小海老師自己編寫的HTML和CSS的PDF教材發(fā)給你,幫助你在前端開發(fā)的道路上闊步前行。

          小海聲明

          在頭條上發(fā)表的這些文章都是從前端開發(fā)的基礎(chǔ)開始一步一步講起的。我非常希望能有更多的前端開發(fā)初學(xué)者通過我寫的文章,逐步學(xué)到一定的知識,甚至慢慢有了入門的感覺。這些文章都是我這幾年教學(xué)過程中的經(jīng)驗,每寫一篇時我都盡量把握好措辭,用簡單易懂的語言描述,同時精心設(shè)計版面,讓版面更加豐富,激發(fā)閱讀興趣。所以,每一篇文章可能篇幅不長,但是都要耗費(fèi)小海老師很久的時間。

          希望收藏了這篇文章的你同時也可以關(guān)注一下“小海前端”的頭條號,因為這些文章都是連載的,并且是經(jīng)過系統(tǒng)的歸納和總結(jié)的。塌下心來認(rèn)真閱讀,你一定會學(xué)到對你有用的知識。

          關(guān)注“小海前端”,我會繼續(xù)為大家奉上更加深入的前端開發(fā)文章,也希望更多的初學(xué)者跟著學(xué)下去,我們共同將前端開發(fā)的路努力堅持的走下去。

          文章預(yù)告

          下一次,小海老師開始為大家講解CSS的盒屬性。盒屬性是div布局的基礎(chǔ),在實際的布局過程中有許多應(yīng)用技巧。下一篇文章我會為大家將盒屬性一個一個進(jìn)行詳細(xì)的分析。


          主站蜘蛛池模板: 午夜影视日本亚洲欧洲精品一区| 国产在线观看91精品一区| 精品一区二区三区东京热| 国产成人精品一区二三区熟女 | 亚洲国产一区在线| 亚洲国产综合无码一区二区二三区| 亚洲视频在线观看一区| 日韩人妻无码一区二区三区久久99| 无码人妻aⅴ一区二区三区| 人妖在线精品一区二区三区| 亚洲AV午夜福利精品一区二区| 亚洲国产精品第一区二区三区| 国产一区二区三区免费视频| 国产精品av一区二区三区不卡蜜| 久久精品无码一区二区WWW| 国产成人精品日本亚洲专一区| 水蜜桃av无码一区二区| 亚洲AV日韩AV天堂一区二区三区 | 91一区二区三区四区五区| 国产精品毛片VA一区二区三区 | 国产精品夜色一区二区三区| 无码人妻AV免费一区二区三区| 国产精品女同一区二区| 台湾无码一区二区| 韩国美女vip福利一区| 国产精品久久久久久麻豆一区| 中文字幕av日韩精品一区二区| 亚洲色无码专区一区| 精品国产一区二区三区www| 四虎在线观看一区二区| 在线观看中文字幕一区| 日韩精品一区二区午夜成人版| 无码人妻一区二区三区精品视频| 国产一区二区三区在线看片 | 韩日午夜在线资源一区二区 | 日本福利一区二区| 无码人妻精品一区二区蜜桃AV| 一区视频免费观看| 小泽玛丽无码视频一区| 一区二区在线视频免费观看| 波多野结衣免费一区视频|