亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

純css實現多級折疊菜單折疊樹效果

2024-07-11 08:59:08
字體:
來源:轉載
供稿:網友

1、運用checkbox的checked值來判斷下級欄目是否展開,CSS3的選擇器中提供了:checked 這個偽類,這個偽類提供我們,當元素擁有checked這個值的時候就執行你的CSS。

當有子菜單時,菜單項右側有向下的箭頭,當收起菜單項時,箭頭朝上。圖片可以自己替換。

2、效果圖

3、代碼片段

<ol class="tree">         <li>             <label for="folder1" class="folderOne">澤元框架</label> <input type="checkbox" id="folder1" />            <ol>                  <li>                     <label for="subfolder1"class="folderTwo">開發規范</label> <input type="checkbox" id="subfolder1"  />                      <ol>                         <li class="file folderThree"><a href="#">常見界面錯誤舉例</a></li>                         <li class="file folderThree"><a href="#">關于發行報告對BUG管理提出…</a></li>                         <li class="file folderThree"><a href="#">插件內部JAVA包命名規范</a></li>                     </ol>                 </li>                 <li class="file folderTwo"><a href="#">概述</a></li>                  <li class="file folderTwo"><a href="#">服務器集群</a></li>                  <li class="file folderTwo"><a href="#">模板</a></li>                  <li class="file folderTwo"><a href="#">安全機制</a></li>              </ol>           </li>         <li>             <label for="folder2" class="folderOne" >ZCMS</label> <input type="checkbox" id="folder2" />              <ol>                 <li class="file folderTwo"><a href="#">實時數據</a></li>                <li>                     <label for="subfolder2" class="folderTwo">實時數據</label> <input type="checkbox" id="subfolder2"  />                      <ol>                         <li class="file folderThree"><a href="#">實時數據</a></li>                         <li class="file folderThree"><a href="#">實時數據</a></li>                         <li class="file folderThree"><a href="#">實時數據</a></li>                     </ol>                 </li>             </ol>         </li>        <li>             <label for="folder3"  class="folderOne">ZAS</label> <input type="checkbox" id="folder3" />              <ol>                 <li class="file folderTwo"><a href="#">實時數據</a></li>                <li class="file folderTwo"><a href="#">實時數據</a></li>            </ol>         </li>        <li>             <label for="folder4"  class="folderOne">ZHTML標簽</label> <input type="checkbox" id="folder4"/>              <ol>                 <li class="file folderTwo"><a href="#">實時數據</a></li>                <li class="file folderTwo"><a href="#">實時數據</a></li>            </ol>         </li>        <li>             <label for="folder5"  class="folderOne">UI框架API手冊</label> <input type="checkbox" id="folder5"/>              <ol>                 <li class="file folderTwo"><a href="#">實時數據</a></li>                <li class="file folderTwo"><a href="#">實時數據</a></li>            </ol>         </li>    </ol><style type="text/css">      .tree {margin: 0;padding: 0;background-color:#f2f2f2;overflow: hidden;}      /*隱藏input*/    .tree li input{position: absolute;left: 0;opacity: 0;z-index: 2;cursor: pointer;height: 1em;width:1em;top: 0;}      /*所有菜單項設置統一樣式*/    .tree li {position: relative;list-style: none;}       /*一級菜單加下邊線*/    .tree>li{border-bottom: 1px solid #d9d9d9;}    /*給有子菜單的菜單項添加背景圖標*/    .tree li label {max-width:999px;cursor: pointer;display: block;margin:0 0 0 -50px;padding: 15px 10px 15px 70px;background: url(../../images/cp-detail-arrow-b.png) no-repeat right center;background-position:95% 50%;white-space:nowrap;overflow:hidden;text-overflow: ellipsis; }      .tree li label:hover,li label:focus{background-color:#a7a7a7;color:#fff;}    /*清除所有展開的子菜單的display*/    .tree li input + ol{display: none;}      /*當input被選中時,給所有展開的子菜單設置樣式*/    .tree input:checked + ol {padding-left:14px;height: auto;display: block;}      .tree input:checked + ol > li { height: auto;}      /*末層菜單為A標簽,設置樣式*/    .tree li.file a{margin:0 -10px 0 -50px;padding: 15px 20px 15px 70px;text-decoration:none;display: block;color:#333333;white-space:nowrap;overflow:hidden;text-overflow: ellipsis;}     .tree li.file a:hover,li.file a:focus{background-color:#a7a7a7;color:#fff;}     /*不同層級的菜單字體大小不同*/    .tree .folderOne{font-size: 18px;}    .tree .folderTwo{font-size:16px;}    .tree .folderThree{font-size:14px;}</style><script type="text/javascript">       $(document).ready(function() {           //每個有子菜單的菜單項添加點擊事件           $(".tree label").click(function(){               //獲取當前菜單旁邊input的check狀態               var isChecked = $(this).next("input[type='checkbox']").is(':checked');               //展開和收齊的不同狀態下更換右側小圖標               if(isChecked){                   $(this).css(                       "background-image","url(../images/cp-detail-arrow-b.png)"                   );               }else{                   $(this).css(                       "background-image","url(../images/cp-detail-arrow-t.png)"                   );               }           });                   });   </script>

下面介紹下CSS 菜單折疊

先給大家展示效果圖:

如上,假設一級菜單是 div,二級菜單是 ul。形如:

<div>業務管理<span></span></div><ul>...<ul><div class="collapsed">匯總分析<span></span></</div><ul>...<ul><div class="collapsed">>系統管理<span></span></</div><ul>...<ul>

當菜單展開時,左邊有一個藍色的標記,右邊是折疊標記。

左邊藍色標記自不用表,CSS 設置 border 即可,右邊利用 CSS 也超方便。

div span { float:right; padding-right:20px; }div span:after { content: "∨" }div.collapsed span:after { content: "∧" }

然后再說子菜單的折疊效果,有動畫噢:

div.collapsed + ul { height: 0px; transition: height 0.5s ease-out; }div ul { height: 80px; transition: height 0.5s ease-in; }

注意 ul 一定要有 height 的具體值,如果沒有具體指明多少 px,則雖然能折疊,但是沒有動畫效果。

最后就是利用 jQuery 或 ezj 切換 className 了,當點擊 div 的時候 toggleClass("collapsed")。

總結

以上所述是小編給大家介紹的純css實現多級折疊菜單折疊樹效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲第一页| 国产精品一区电影| 国产精品一区二区在线| 91九色国产社区在线观看| 亚洲a∨日韩av高清在线观看| 欧美在线视频一区二区| 欧美大片在线免费观看| 国产成人黄色av| 成人激情视频在线观看| 在线视频日韩精品| 久久久久久中文字幕| 成人免费自拍视频| 久久福利视频网| 久久久久久97| 狠狠躁天天躁日日躁欧美| 在线免费观看羞羞视频一区二区| 午夜免费久久久久| 日韩在线观看高清| 日韩成人av网| 日韩大陆欧美高清视频区| 亚洲免费精彩视频| 国产不卡av在线免费观看| 国产玖玖精品视频| 久久亚洲精品一区| 国产91精品在线播放| 国产精品高清免费在线观看| 永久免费毛片在线播放不卡| 日韩欧美极品在线观看| 欧美一级在线播放| 在线中文字幕日韩| 国产成人综合一区二区三区| 国内精品久久久久久影视8| 日韩va亚洲va欧洲va国产| 国产综合在线视频| 久久国产精品网站| 精品久久久久久久久国产字幕| 精品成人av一区| 久久777国产线看观看精品| 欧美精品18videos性欧美| 欧美中文字幕在线| 国产精品久久久久久久久久| 成人综合国产精品| 一区二区三区回区在观看免费视频| 欧美成人免费在线观看| 国产精品日韩精品| 国产美女精品视频| 精品视频中文字幕| 欧美—级a级欧美特级ar全黄| 中文字幕精品视频| 日韩av手机在线观看| 日韩在线高清视频| 97视频在线免费观看| 国产精品爽黄69天堂a| 亚洲第一福利网| 中文字幕日韩在线视频| 中文字幕久热精品在线视频| 国产一区二区日韩| 国产精品白丝av嫩草影院| 国产精品久久久av| 亚洲视频欧美视频| 大荫蒂欧美视频另类xxxx| 国产亚洲欧洲在线| 国产精品视频免费在线| 青青草一区二区| 在线亚洲男人天堂| 91精品国产91| 91国内在线视频| 中文字幕亚洲无线码在线一区| 午夜剧场成人观在线视频免费观看| 国产一区二区三区高清在线观看| 国产精品日韩在线一区| 日韩欧美成人精品| 久热精品视频在线观看一区| 综合国产在线观看| 亚洲影视九九影院在线观看| 国产亚洲日本欧美韩国| 91久久在线播放| 日韩欧美有码在线| 久久精品国产免费观看| 久久露脸国产精品| 精品国偷自产在线| 最近2019年日本中文免费字幕| 国产精品美女av| 欧美大肥婆大肥bbbbb| 日本道色综合久久影院| 91sa在线看| 亚洲女人被黑人巨大进入| 在线日韩av观看| 亚洲aa在线观看| 亚洲变态欧美另类捆绑| 亚洲一区亚洲二区| 亚洲一区二区三区久久| 午夜精品久久久久久久白皮肤| 欧美富婆性猛交| 亚洲伊人一本大道中文字幕| 97国产精品视频| 精品视频中文字幕| 欧美精品videofree1080p| 国产综合色香蕉精品| 高清视频欧美一级| 欧美激情va永久在线播放| 欧美福利小视频| 欧美成人sm免费视频| 久久6免费高清热精品| 久久精品青青大伊人av| 亚洲精品色婷婷福利天堂| 色播久久人人爽人人爽人人片视av| 色哟哟网站入口亚洲精品| 91精品国产综合久久久久久久久| 国产精品久久久久国产a级| 久久久久久久久久av| 亚洲激情中文字幕| 欧美午夜丰满在线18影院| 国产精品国产亚洲伊人久久| 日韩视频在线观看免费| 亚洲色图18p| 亚洲系列中文字幕| 日本精品视频在线观看| 亚洲综合中文字幕68页| 精品中文字幕在线观看| 欧美激情视频一区二区| 麻豆国产精品va在线观看不卡| 日韩av在线影院| 亚洲视频777| 久久69精品久久久久久国产越南| 中文字幕日韩av综合精品| 4k岛国日韩精品**专区| 在线观看久久av| 亚洲人线精品午夜| 欧美性猛交xxxx黑人| 国产亚洲精品日韩| 日韩成人网免费视频| 97视频在线观看视频免费视频| 国产精品视频地址| 日韩一区在线视频| 日韩精品中文字幕在线观看| 色婷婷av一区二区三区在线观看| 精品久久久久久国产91| 性色av一区二区三区红粉影视| 日韩精品中文字| 日韩av在线高清| 亚洲成人av资源网| 成人国内精品久久久久一区| 日韩免费在线观看视频| 欧美老妇交乱视频| 成人信息集中地欧美| 粉嫩老牛aⅴ一区二区三区| 国产精品久久99久久| 动漫精品一区二区| 亚洲人成77777在线观看网| 在线亚洲欧美视频| 久久免费视频这里只有精品| 尤物九九久久国产精品的特点| 久久九九热免费视频| 欧美另类老女人| 国产精品久久久久久搜索| 91av在线免费观看| www.亚洲免费视频| 国产亚洲欧洲在线| 久久精品99久久久久久久久| 中文字幕欧美精品日韩中文字幕| 51精品在线观看| 欧美大奶子在线| 久久激情视频免费观看|