不使用JavaScript實現(xiàn)菜單的打開和關(guān)閉效果demo
我在寫有菜單欄的網(wǎng)頁時,基本都會用響應(yīng)式設(shè)計來適配移動端,例如把不重要的菜單選項隱藏,或者創(chuàng)建一個菜單按鈕來控制的菜單的打開和關(guān)閉之類的。而我之前一直是使用JavaScript來實現(xiàn)菜單的打開和關(guān)閉的,但最近在網(wǎng)上看到有人使用CSS和HTML來實現(xiàn)這一功能,讓我真正的感受到手里只要有一把錘,什么都可以做釘子。
實現(xiàn)之前先來看一下HTML標(biāo)簽和輸入類型:
label
<label> 標(biāo)簽為 input 元素定義標(biāo)注(標(biāo)記)。
label 元素不會向用戶呈現(xiàn)任何特殊效果。不過,它為鼠標(biāo)用戶改進了可用性。如果您在 label 元素內(nèi)點擊文本,就會觸發(fā)此控件。就是說,當(dāng)用戶選擇該標(biāo)簽時,瀏覽器就會自動將焦點轉(zhuǎn)到和標(biāo)簽相關(guān)的表單控件上。
<label> 標(biāo)簽的 for 屬性應(yīng)當(dāng)與相關(guān)元素的 id 屬性相同。
Input Type: checkbox
<input type="checkbox">
定義復(fù)選框。
復(fù)選框允許用戶在有限數(shù)量的選項中選擇零個或多個選項。
下面是demo的代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>menu demo</title> <link rel="stylesheet" rel="external nofollow" > <style> .demo { text-align: center; } /* 點擊checkbox時,菜單打開或顯示 */ #menu-checkbox:checked ~ .nav { display: none; } /* 隱藏checkbox的復(fù)選框 */ #menu-checkbox { display: none; } .nav ul{ list-style: none; margin: 0; padding: 0; font-size: 20px; } .glyphicon-menu-hamburger { font-size: 30px; margin-top: 50px; } </style> </head> <body> <div class="demo"> <!-- label綁定checkbox --> <label for="menu-checkbox"><span class="glyphicon glyphicon-menu-hamburger"></label> <input id="menu-checkbox" type="checkbox"> <div class="nav"> <ul> <li>aaa</li> <li>bbb</li> <li>ccc</li> <li>ddd</li> </ul> </div> </div> </body> </html>
效果:
點擊上面的hamburger圖標(biāo),菜單就會顯示和隱藏。
雖然是很簡單的一個東西,不過它對于我而言更多的是一種啟發(fā)。
以上所述是小編給大家介紹的不使用JavaScript實現(xiàn)菜單的打開和關(guān)閉效果,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
javascript學(xué)習(xí)筆記--數(shù)字格式類型
很多人也許只知道 123,123.456,0xff 之類的數(shù)字格式。 其實 js 格式還有很多數(shù)字格式類型,比如 1., .1 這樣的,也有 .1e2 這樣的。2014-05-05JavaScript函數(shù)中的防抖與節(jié)流原生實現(xiàn)及第三方庫的使用
當(dāng)你頻繁的觸發(fā)用戶界面時,會不停的觸發(fā)事件處理函數(shù),可能導(dǎo)致界面卡頓,瀏覽器奔潰,頁面空白等情況,而解決這一問題的,正是函數(shù)節(jié)流與函數(shù)防抖,所以本文將給大家介紹一下JavaScript函數(shù)中的防抖與節(jié)流原生實現(xiàn)及第三方庫的使用,需要的朋友可以參考下2023-10-10Javascript中的方法鏈(Method Chaining)介紹
這篇文章主要介紹了Javascript中的方法鏈(Method Chaining)介紹,本文講解了Javascript Method Chaining、Method Chaining 使用、Method Chaining VS prototype Chaining等內(nèi)容,需要的朋友可以參考下2015-03-03javascript產(chǎn)生隨機數(shù)方法匯總
這篇文章主要介紹了javascript產(chǎn)生隨機數(shù)方法匯總的相關(guān)資料,需要的朋友可以參考下2016-01-01