不使用JavaScript實現菜單的打開和關閉

我在寫有菜單欄的網頁時,基本都會用響應式設計來適配移動端,例如把不重要的菜單選項隱藏,或者創建一個菜單按鈕來控制的菜單的打開和關閉之類的。而我之前一直是使用JavaScript來實現菜單的打開和關閉的,但最近在網上看到有人使用CSS和HTML來實現這一功能,讓我真正的感受到手里只要有一把錘,什么都可以做釘子。

實現之前先來看一下HTML標簽和輸入類型:

label

<label> 標簽為 input 元素定義標注(標記)。

label 元素不會向用戶呈現任何特殊效果。不過,它為鼠標用戶改進了可用性。如果您在 label 元素內點擊文本,就會觸發此控件。就是說,當用戶選擇該標簽時,瀏覽器就會自動將焦點轉到和標簽相關的表單控件上。

<label> 標簽的 for 屬性應當與相關元素的 id 屬性相同。

Input Type: checkbox

<input type="checkbox"> 定義復選框。

復選框允許用戶在有限數量的選項中選擇零個或多個選項。

下面是demo的代碼:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>menu demo</title>
 8     <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
 9     <style>
10         .demo {
11             text-align: center;
12         }
13         /* 點擊checkbox時,菜單打開或顯示 */
14         #menu-checkbox:checked ~ .nav {
15             display: none;
16         }
17         /* 隱藏checkbox的復選框 */
18         #menu-checkbox  {
19             display: none;
20         }
21         .nav ul{
22             list-style: none;
23             margin: 0;
24             padding: 0;
25             font-size: 20px;
26         }
27         .glyphicon-menu-hamburger {
28             font-size: 30px;
29             margin-top: 50px;
30         }
31     </style>
32 </head>
33 <body>   
34     <div class="demo">
35         <!-- label綁定checkbox -->
36         <label for="menu-checkbox"><span class="glyphicon glyphicon-menu-hamburger"></label> 
37         <input id="menu-checkbox" type="checkbox">
38         <div class="nav">
39             <ul>
40                 <li>aaa</li>
41                 <li>bbb</li>
42                 <li>ccc</li>
43                 <li>ddd</li>
44             </ul>
45         </div>
46     </div>
47 </body>
48 </html>

效果:

點擊上面的hamburger圖標,菜單就會顯示和隱藏。

雖然是很簡單的一個東西,不過它對于我而言更多的是一種啟發。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/369990.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/369990.shtml
英文地址,請注明出處:http://en.pswp.cn/news/369990.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

負載均衡的幾種方式

&#xff08;1&#xff09;HTTP重定向負載均衡。 這種負載均衡方案的優點是比較簡單&#xff0c;缺點是瀏覽器需要每次請求兩次服務器才能拿完成一次訪問&#xff0c;性能較差。&#xff08;2&#xff09;DNS域名解析負載均衡。 DNS域名解析負載均衡的優點是將負載均衡工作交給…

芝枝.計算機與人文科學,計算機與人文科學

計算機與人文科學(2013-03-13 13:24:17)標簽&#xff1a;文化戰爭名著《靜靜的頓河》可以說從它誕生起便沒有平靜過&#xff0c;圍繞它的作者所引起的爭議&#xff0c;就像它獲得諾貝爾文學獎一樣&#xff0c;撼動文壇&#xff0c;有人指控肖洛霍夫是個騙子&#xff0c;《靜靜的…

rto初始化和計算_TCP系列13—重傳—3、協議中RTO計算和RTO定時器維護

從上一篇示例中我們可以看到在TCP中有一個重要的過程就是決定何時進行超時重傳&#xff0c;也就是RTO的計算更新。由于網絡狀況可能會受到路由變化、網絡負載等因素的影響&#xff0c;因此RTO也必須跟隨網絡狀況動態更新。如果TCP過早重傳&#xff0c;則可能會向網絡中注入很多…

在Java 8 Lambda上使用Apache Commons Functor功能接口

Apache Commons Functor &#xff08;以下稱為[functor]&#xff09;是一個Apache Commons組件&#xff0c;它提供功能性的編程API和已實現的幾種模式&#xff08;訪問者&#xff0c;生成器&#xff0c;聚合器等&#xff09;。 Java 8具有幾個不錯的新功能&#xff0c;包括lamb…

HTML5 Canvas游戲開發實戰 PDF掃描版

HTML5 Canvas游戲開發實戰主要講解使用HTML5 Canvas來開發和設計各類常見游戲的思路和技巧&#xff0c;在介紹HTML5 Canvas相關特性的同時&#xff0c;還通過游戲開發實例深入剖析了其內在原理&#xff0c;讓讀者不僅知其然&#xff0c;而且知其所以然。在本書中&#xff0c;除…

多線程之創建線程

在Java中&#xff0c;線程能區分兩種不同類型的線程&#xff1a;前臺線程和后臺線程。這兩者的區別就是&#xff1a;應用程序必須運行完所有的前臺線程才可以退出&#xff1b;而對于后臺線程&#xff0c;應用程序則可以不考慮其是否已經運行完畢而直接退出&#xff0c;所有的后…

阿 Q 的停車場

問題描述 剛拿到駕照的 KJ 總喜歡開著車到處兜風&#xff0c;玩完了再把車停到阿 Q 的停車場里&#xff0c;雖然 她對自己停車的水平很有信心&#xff0c;但她還是不放心其他人的停車水平&#xff0c;尤其是 Kelukin。于是&#xff0c; 她每次都把自己的愛車停在距離其它車最遠…

css3圖片垂直居中

圖片相對父元素垂直居中, css3屬性給父級元素設置 display: -webkit-box; -moz-box-align: center; -webkit-box-align: center; -moz-box-pack: center; -webkit-box-pack: center; 需要注意的是&#xff1a; 父級元素要有確定的高度&#xff01;

聲明式的理解【gpt】

一 MyBatis采用了聲明式語法來進行SQL映射配置【mybatis聲明式】 MyBatis是一款優秀的持久層框架&#xff0c;支持自定義SQL、存儲過程以及高級映射&#xff0c;使得開發人員能夠專注于SQL本身而不是數據庫訪問。MyBatis提供了兩種配置方式&#xff1a;XML配置和注解配置&…

網絡局域網看不到其它計算機,局域網中看不到其它計算機怎么辦

通過網上鄰居或查看網絡計算機時&#xff0c;看不到局域網中其它計算機&#xff0c;這是怎么回事呢?下面是學習啦小編給大家整理的一些有關看不到局域網中其它計算機的解決方法&#xff0c;希望對大家有幫助!局域網中看不到其它計算機的解決方法打開“控制面板”-“網絡和Inte…

iconfont 圖標轉為字體_iconfont字體圖標的使用方法--超簡單!

我之前因為項目用bootstrap比較多,所以使用font awesome字體圖標比較多,后來接觸到了iconfont,發現想要的什么圖標都有,還可以自定義圖標,非常強大!之前看了一波教程,覺得繁瑣,自己弄明白后感覺如此簡單,做了這么個簡單教程,直接上圖,簡單粗暴,避免新手走彎路,這里講解的默認是…

一罐來統治所有人

跳下內存通道 早在1998年&#xff0c;當我是一名C / C 開發人員時&#xff0c;嘗試使用Java時&#xff0c;有關該語言的一些內容對我來說就顯得有些惱火了。 我記得很擔心這些 為什么沒有合適的編輯器呢&#xff1f; C / C 有很多。 我為Java擁有的只是舊的記事本。 當我想要…

Django集合Ueditor

語言版本環境&#xff1a;python3.6 1、win安裝步驟&#xff1a; 1 git下載源碼https://github.com/zhangfisher/DjangoUeditor 2 解壓DjangoUeditor3-master.tar 3 cd C:\Users\fj\Desktop\DjangoUeditor3-master 4 python setup.py install 官方建議使用pip install Djang…

計算機二級高級應用考題,2016計算機二級MSOFFICE高級應用考試真題

2016計算機二級MSOFFICE高級應用考試真題離2016上半年的計算機等級考試只有一個多月了&#xff0c;為了幫助大家盡快考試過關&#xff0c;小編整理了計算機二級office考試題&#xff0c;希望能幫助到大家!(1)下列敘述中正確的是A)一個算法的空間復雜度大&#xff0c;則其時間復…

ANTLR –語義謂詞

用antlr解析簡單的語法很簡單 。 您要做的就是使用正則表達式描述您的語言&#xff0c;并讓antlr生成詞法分析器和解析器。 解析大型或復雜的語言有時會需要更多&#xff0c;因為僅使用正則表達式描述它們是困難的&#xff0c;甚至是不可能的。 語義謂詞是在語法內部編寫的Jav…

python輸入一個數組輸出24進制式的時間_4.4 用于數組的文件輸入輸出 線性代數...

Numpy能夠讀寫磁盤上的文本數據或二進制數據。這一小節只討論Numpy的內置二進制格式&#xff0c;因為更多的用戶會使用pandas或其它工具加載文本或表格數據(見第6章)。np.save和np.load是讀寫磁盤數組數據的兩個主要函數。默認情況下&#xff0c;數組是以未壓縮的原始二進制格式…

DBMS-數據庫設計與E-R模型:E-R模型、約束、E-R圖、E-R擴展特性、E-R圖轉換為關系模式、UML建模...

設計過程概覽 1. 設計階段 最初階段&#xff1a;刻畫未來數據庫用戶的數據需求&#xff0c;產品為用戶需求規格說明&#xff1b; 概念設計階段&#xff08;conceptual-design phase&#xff09;&#xff1a;&#xff08;關注描述抽象數據及其聯系&#xff0c;通常使用實體-聯系…

tooltip.css-2.0文檔

tooltip.css 純CSS鼠標提示工具。 v. 2.0.0 更新日期&#xff1a;2018.4.12 預覽DEMO。 安裝&#xff1a; 只需在頁面中引入"tooltip.css"或“tooltip.min.css”文件即可。 如&#xff1a; <link rel"stylesheet" href"css/tooltip.css"…

Java虛擬機:如何判定哪些對象可回收?

版權聲明&#xff1a;本文為博主原創文章&#xff0c;轉載請注明出處&#xff0c;歡迎交流學習&#xff01; 在堆內存中存放著Java程序中幾乎所有的對象實例&#xff0c;堆內存的容量是有限的&#xff0c;Java虛擬機會對堆內存進行管理&#xff0c;回收已經“死去”的對象&…

html標簽object和embed,html標簽object和embed的區別

object和embed的區別The code in bold above is the actual code that you need to place in your page to embed a FusionCharts chart.In the above code, weveused and tags to embed the 3D Column Chart (Column3D.swf) within the HTML page.used &dataUrlData.xml u…