問題
詳細教學參考[教學] 如何用純 CSS 製作無限階層的下拉選單?(支援主流瀏覽器)
文中所提及的TreeMenu為放置於頂端的,因此若放於下端的話,子選單無法呈現
解決方法
/* 特定在第一層 > 第二層之後下拉部分之樣式 */
body, ul.navigation, ul.navigation li, ul.navigation ul, a
{
margin: 0;
padding: 0;
font-size: 13px;
text-decoration: none;
}
ul.navigation, ul.navigation li
{
list-style: none;
}
ul.navigation li
{
position: relative;
float: left;
}
/* 選單 li 裡面連結之樣式 */
ul.navigation li a
{
display: block;
padding: 12px 20px;
background: #888;
color: #FFF;
}
/* 特定在第一層,以左邊灰線分隔 */
ul.navigation > li > a
{
border-bottom: 1px solid #CCC;
border-left: 1px solid #CCC;
}
ul.navigation > li > a:hover
{
color: #666;
background: #DDD;
}
/* 特定在第一層 > 第二層之後下拉部分之樣式 */
ul.navigation li ul
{
display: none;
float: left;
/*position: absolute;*/
position:absolute;
bottom:39px;
left: 0;
margin: 0;
}
/* 當第一層選單被觸發時,指定第二層顯示 */
ul.navigation li:hover > ul
{
display: block;
}
/* 特定在第二層或之後下拉部分 li 之樣式 */
ul.navigation ul li
{
border-bottom: 1px solid #DDD;
}
/* 特定在第二層或之後下拉部分 li (最後一項不要底線)之樣式 */
ul.navigation ul li:last-child
{
border-bottom: none;
}
/* 第二層或之後 選單 li 之樣式 */
ul.navigation ul a
{
width: 120px;
padding: 10px 12px;
color: #666;
background: #EEE;
}
ul.navigation ul a:hover
{
background: #CCC;
}
/* 第三層之後,上一層的選單觸發則顯示出來(皆為橫向拓展) */
/*ul.navigation ul li:hover > ul
{
display: block;
position: absolute;
bottom:72px;
top: 0;
left: 100%;
}*/
/* 箭頭向下 */
.arrow-bottom
{
display: inline-block;
margin-left: 5px;
/*border-top: 4px solid #FFF;*/
border-right: 4px solid transparent;
border-left: 4px solid transparent;
border-bottom: 4px solid #FFF;
width: 1px;
height: 1px;
}
/* 箭頭向右 */
.arrow-right
{
display: inline-block;
margin-left: 12px;
border-top: 3px solid transparent;
border-bottom: 3px solid transparent;
border-left: 3px solid #666;
width: 1px;
height: 1px;
}
沒有留言:
張貼留言