|
|
|
|
|
本文介紹一個左側(cè)導(dǎo)航菜單,這個導(dǎo)航菜單是可折疊的,并且它可以在左側(cè)縮進和伸展。這個導(dǎo)航菜單適合很多應(yīng)用環(huán)境。
效果如圖
示例介紹
本示例由CSS+JavaScript實現(xiàn)。
HTML代碼
<div id="ensconce">
<h2>
<img src="static/show.png">
國內(nèi)各地景點
</h2>
</div>
<div id="open">
<div class="navH">
國內(nèi)各地景點
<span><img class="obscure" src="static/obscure.png"></span>
</div>
<div class="navBox">
<ul>
<li>
<h2 class="obtain">北京景點<i></i></h2>
<div class="secondary">
<h3>故宮</h3>
<h3>十三陵</h3>
<h3>圓明園</h3>
<h3>長城</h3>
<h3>雍和宮</h3>
<h3>天壇公園</h3>
</div>
</li>
<li>
<h2 class="obtain">南京景點<i></i></h2>
<div class="secondary">
<h3>棲霞寺</h3>
<h3>夫子廟</h3>
<h3>海底世界</h3>
<h3>中山陵</h3>
<h3>烏衣巷</h3>
<h3>音樂臺</h3>
</div>
</li>
</ul>
</div>
</div>
這個HTML結(jié)構(gòu)比較清晰易理解。有兩個并列的外層div
,前一個是<div id="ensconce">...</div>
,后一個是<div id="open">...</div>
,前一個是隱藏菜單后顯示的div
,后一個是顯示菜單后的div
。
<h2 class="obtain">...</h2>
是菜單項目,點擊它后展開或折疊其對應(yīng)的<div class="secondary">...</div>
里面的<h3>...</h3>
菜單。
JavaScript
本示例包含兩個兩個JS文件。
<script src="static/adapter.js"></script>
<script src="static/menu.js"></script>
adapter.js是實現(xiàn)文字和標簽的大小隨著屏幕的尺寸做變話 等比縮放的功能,而menu.js是實現(xiàn)導(dǎo)航菜單的點擊事件。具體編程請看程序里的注釋文字。
CSS
本示例包含兩個CSS文件。
<link rel="stylesheet" href="static/base.css">
<link rel="stylesheet" href="static/menu.css">
base.css
是全局樣式設(shè)置,而menu.css
是菜單的樣式設(shè)置。
#menu{...}
是菜單的區(qū)域樣式設(shè)置。這里設(shè)置高度(height
)是100%,而 float:left;
是設(shè)置菜單區(qū)域在左側(cè),user-select:none;
是禁止文本復(fù)制粘貼。
#menu {
overflow: hidden;
height: 100%;
float: left;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#menu #ensconce { ... }
是隱藏菜單后顯示的div
樣式,而 #menu #ensconce h2 { ... }
是設(shè)置該div
區(qū)域內(nèi)文字的樣式。
#menu #open { ... }
是設(shè)置導(dǎo)航菜單區(qū)域div
打開的樣式。
#menu #open .navH
設(shè)置導(dǎo)航菜單的頭部位置及文字等樣式。
#menu #open .navBox
設(shè)置導(dǎo)航菜單項目的區(qū)域,包括位置、高寬、文字等樣式。
總結(jié)
本文介紹了CSS+JS實現(xiàn)可伸縮可折疊的左邊側(cè)欄項目導(dǎo)航菜單,這個導(dǎo)航菜單很大眾化,并且其界面設(shè)計大氣不花俏,應(yīng)用場景很廣。喜歡的朋友可直接收藏本頁,或直接下載源碼保存?zhèn)溆谩?/p>
相關(guān)文章