CSS實現樹形菜單的源碼,是響應式設計和用戶友好體驗的關鍵。以下代碼是實現CSS樹形菜單的基本代碼框架:
/* 清除默認值 */ ul, li{margin: 0;padding: 0;list-style: none;} /* 定義基本樣式 */ .tree{overflow:hidden;} .tree li{position:relative; margin:0; padding:0; list-style:none;font-size:1.2em;line-height:1.2em;} .tree li ul li{padding-left:20px;} .tree li:before, .tree li:after{content:''; position:absolute;top:0;right:50%;border-top:1px solid #ccc;width:50%;height:1.2em;} .tree li:after{right:auto;left:50%;border-left:1px solid #ccc;} /* 對根節點做一些特殊處理 */ .tree li.root{margin-bottom: 20px;} .tree li.root:before{border: none;} /* 定義鏈接樣式 */ .tree li a{display:block;padding:7px 5px;text-decoration:none; color:#666;} /* 鼠標懸停樣式 */ .tree li:hover a{background:#d4e8fc;} /* 定義子節點的樣式 */ .tree ul{margin-top:10px;display:none;} .tree ul li{position:relative;padding:0 0 0 20px;line-height:1.2em;} /* 定義展開節點的樣式 */ .tree li.open > ul {display:block;} /* 定義展開圖標的樣式 */ .tree li:before{content:'\0020'; color:#000;font-weight:bold;} .tree li.open:before{content:'\002D';} .tree li.closed:before{content:'\002B';}
以上代碼便是一個基本的CSS樹形菜單的樣式框架,通過此框架可以實現樹形結構的展開與關閉,并且能夠設置每個節點的鏈接。需要注意的是,這個樣式框架還沒有加上鼠標點擊節點打開/關閉子節點這樣的交互功能,需要通過JavaScript來實現。
下一篇css實現樹型圖