日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

纯CSS打造可折叠树状菜单

發布時間:2025/1/21 CSS 94 豆豆
生活随笔 收集整理的這篇文章主要介紹了 纯CSS打造可折叠树状菜单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1:Html代碼

<li> <label for="subsubfolder1">下級</label> <input id="subsubfolder1" type="checkbox" /> <ol> <li class="file"><a>下級</a></li> <li> <label for="subsubfolder2">下級</label> <input id="subsubfolder2" type="checkbox" /> <ol> <li class="file"><a>無限級</a></li> <li class="file"><a>無限級</a></li> <li class="file"><a>無限級</a></li> <li class="file"><a>無限級</a></li> <li class="file"><a>無限級</a></li> <li class="file"><a>無限級</a></li> </ol> </li> </ol> </li>


實現的思路是運用checkbox的checked值來判斷下級欄目是否展開,CSS3的選擇器中提供了:checked 這個偽類,這個偽類提供我們,當元素擁有checked這個值的時候就執行你的CSS。(很強大是吧。有了CSS3我們會少寫很多JS哦!)
<label for="subsubfolder1">下級</label><input id="subsubfolder1" type="checkbox" />


當checkbox的擁有checked值的時候就就讓OL現實出來,達到我們想要的功能。
接下來看看CSS代碼吧:


li input { position:absolute;left:0;margin-left:0;opacity:0;z-index:2;cursor:pointer;height:1em;width:1em;top:0; } input + ol { display:none; } input + ol > li { height:0;overflow:hidden;margin-left:-14px!important;padding-left:1px; } li label { cursor:pointer;display:block;padding-left:17px;background:url(toggle-small-expand.png) no-repeat 0px 1px; } input:checked + ol { background:url(toggle-small.png) 44px 5px no-repeat;margin:-22px 0 0 -44px;padding:27px 0 0 80px;height:auto;display:block; } input:checked + ol > li { height:auto; }


這段代碼是樹狀菜單的中心:
input:checked + ol {
background: url(toggle-small.png) 44px 5px no-repeat;margin: -22px 0 0 -44px;padding:27px 0 0 80px;height: auto;display: block;
}


這個是講當inoput 擁有了checked后它平級的OL擁有的樣式。
查看DEMO
使用IE9以下瀏覽就不用看了,請使用非IE瀏覽器。
(想讓IE6+瀏覽器支持也是可以滴,但是需要加JS來模擬css3屬性。國外有很多牛人都寫了讓IE6+瀏覽器支持部分CSS3的JS,例如PIE)
總結:
總體來說,實現思路很簡單,主要是利用CSS3的 checked 偽類來實現OL的隱藏顯示。不過遺憾的是IE游覽器不支持CSS3,但我們不能因為IE的不支持而放棄對CSS3的研究。在國外CSS3和HTML5都是 前端很熱門的話題,他們研究的東西遠遠超過我們,但國內真正去嘗試的還是不多,對于一個前端開發人員來說是一件很可悲的事。我認為CSS3應該引起我們的 重視,不能讓我們輸在起跑線。讓我們大家一起來推動CSS3的發展吧。

2:實例源代碼

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head> <title>純CSS可折疊樹狀菜單</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <style type="text/css">body, ul, li{margin: 0;padding: 0;}body { background-color:#e4e9f1; color:#002446; margin: 0; }input, select, textarea, th, td { font-size: 1em; }ol.tree {padding: 0 0 0 30px;width: 300px;}li {position: relative;margin-left: -15px;list-style: none;}li.file{margin-left: -18px !important;}li.file a{background: url(document.png) 0 0 no-repeat;color: #002446;padding-left: 21px;text-decoration:none;display: block;}li input{position: absolute;left: 0;margin-left: 0;opacity: 0;z-index: 2;cursor: pointer;height: 1em;width:1em;top: 0;}input + ol{display: none;}input + ol > li { height: 0; overflow: hidden; margin-left: -14px !important; padding-left: 1px; }li label {cursor: pointer;display: block;padding-left: 17px;background: url(toggle-small-expand.png) no-repeat 0px 1px;}input:checked + ol {background: url(toggle-small.png) 44px 5px no-repeat;margin: -22px 0 0 -44px;padding:27px 0 0 80px;height: auto;display: block;}input:checked + ol > li { height: auto;}</style> </head> <body><ol class="tree"><li><label for="folder1">水產養殖</label> <input type="checkbox" id="folder1" checked="checked" /> <ol><li class="file"><a href="#">實時數據</a></li><li><label for="subfolder1">實時數據</label> <input type="checkbox" id="subfolder1" /> <ol><li class="file"><a href="">下級</a></li><li><label for="subsubfolder1">下級</label> <input type="checkbox" id="subsubfolder1" /> <ol><li class="file"><a href="">下級</a></li><li><label for="subsubfolder2">下級</label> <input type="checkbox" id="subsubfolder2" /> <ol><li class="file"><a href="">無限級</a></li><li class="file"><a href="">無限級</a></li><li class="file"><a href="">無限級</a></li><li class="file"><a href="">無限級</a></li><li class="file"><a href="">無限級</a></li><li class="file"><a href="">無限級</a></li></ol></li></ol></li><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li></ol></li></ol></li><li><label for="folder2">水產養殖</label> <input type="checkbox" id="folder2" /> <ol><li class="file"><a href="">實時數據</a></li><li><label for="subfolder2">實時數據</label> <input type="checkbox" id="subfolder2" /> <ol><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li><li class="file"><a href="">下級</a></li></ol></li></ol></li></ol></body> </html>

3:效果圖

總結

以上是生活随笔為你收集整理的纯CSS打造可折叠树状菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 美国av大片 | 3级av| 国产老熟妇精品观看 | 日韩在线网| 不卡中文字幕av | 国产一区二区视频在线免费观看 | 欧美jizzhd精品欧美18 | 在线日韩免费 | 日韩不卡的av | 富婆如狼似虎找黑人老外 | 日韩电影一区 | 国产成人三级一区二区在线观看一 | 日本黄网站色大片免费观看 | 2019av视频 | 久久99久久99 | 欧美熟女一区二区 | 久久毛片网站 | 一区二区在线免费看 | 亚洲av无码乱码国产麻豆 | 欧美日韩精品一二三区 | 91av视频免费观看 | 国产精品永久免费观看 | 中文字幕3 | 日韩欧美一卡 | 97干干干 | 国产人妻精品久久久久野外 | 伊人影院视频 | 欧美一级射 | 伊人365 | 免费国产网站 | 麻豆视频在线免费看 | 日韩精品中字 | 99热国内精品 | 久久久久久久一区二区三区 | 9999精品视频 | 国产欧美一区二区三区四区 | 国产免费无码XXXXX视频 | 日韩va亚洲va欧美va久久 | 婷婷久久五月天 | 久久精品无码一区二区三区 | 又黄又爽的免费视频 | 欧美少妇诱惑 | 真实偷拍激情啪啪对白 | 波多野结衣家庭主妇 | 久久久国产一区二区三区 | 蜜臀aⅴ国产精品久久久国产老师 | 日韩一区在线观看视频 | 精品久久人人妻人人做人人 | 污视频网站免费 | 国产看片网站 | 久久精品女人 | 国内自拍在线观看 | 国产精品高潮av | 91精品国产福利在线观看 | 玩偶游戏在线观看免费 | 国产精品有码 | 美女高潮流白浆视频 | 国产操比视频 | 韩国黄色一级片 | 爽爽淫人 | 国产福利不卡视频 | 日韩精品免费一区二区三区 | 欧美日韩在线高清 | 国产精品久久久久久久久久东京 | 亚洲第三色 | 久久人妻无码aⅴ毛片a片app | 一区二区免费看 | 亚洲三级欧美 | 免费大片av| 国产二区自拍 | 亚洲va韩国va欧美va | 九色自拍视频 | 黄色伊人网 | 精品日韩 | 黄色国产在线视频 | 欧美日韩国产一级 | 国产一区二区三区黄 | 黑人巨大精品人妻一区二区 | 天天都色 | 蜜乳av 懂色av 粉嫩av | 97超碰国产精品无码蜜芽 | 欧美亚洲另类视频 | jizz在线播放 | 一区二区日韩精品 | 国产福利小视频在线观看 | 日韩和一区二区 | 夜福利视频 | 久久婷婷综合色 | 中文字幕第10页 | 亚洲中文字幕无码av | 欧美激情第三页 | 99久久久无码国产精品不卡 | www.av视频在线观看 | 午夜91| 欧美黑人一区 | 日韩av综合网 | 欧美一区二区三区激情 | 麻豆成人入口 | 91激情视频在线观看 |