創(chuàng)建二級(jí)菜單是CSS中的一個(gè)常見需求,特別是在構(gòu)建響應(yīng)式網(wǎng)站時(shí),使用CSS創(chuàng)建二級(jí)菜單,我們可以利用CSS的樣式和布局屬性來實(shí)現(xiàn)。
我們需要一個(gè)包含一級(jí)菜單和二級(jí)菜單的HTML結(jié)構(gòu),這個(gè)結(jié)構(gòu)通常是一個(gè)嵌套的列表(ul/li)結(jié)構(gòu)。
<ul class="main-menu"> <li> <a href="#">一級(jí)菜單項(xiàng)1</a> <ul class="sub-menu"> <li><a href="#">二級(jí)菜單項(xiàng)1-1</a></li> <li><a href="#">二級(jí)菜單項(xiàng)1-2</a></li> </ul> </li> <li> <a href="#">一級(jí)菜單項(xiàng)2</a> <ul class="sub-menu"> <li><a href="#">二級(jí)菜單項(xiàng)2-1</a></li> <li><a href="#">二級(jí)菜單項(xiàng)2-2</a></li> </ul> </li> </ul>
我們可以使用CSS來樣式化這個(gè)菜單,我們可以設(shè)置一級(jí)菜單項(xiàng)和二級(jí)菜單項(xiàng)的樣式,以及鼠標(biāo)懸停時(shí)的樣式變化。
.main-menu { list-style: none; margin: 0; padding: 0; display: flex; } .main-menu li { position: relative; flex: 1; } .main-menu li a { display: block; text-decoration: none; color: #333; padding: 10px; } .main-menu li:hover > a { color: #fff; background-color: #333; } .sub-menu { position: absolute; top: 100%; left: 0; list-style: none; margin: 0; padding: 0; display: none; } .sub-menu li { position: relative; } .sub-menu li a { display: block; text-decoration: none; color: #fff; padding: 10px; background-color: #333; } .sub-menu li:hover > a { color: #333; background-color: #fff; }
在這個(gè)CSS樣式中,我們?cè)O(shè)置了一級(jí)菜單項(xiàng)和二級(jí)菜單項(xiàng)的樣式,以及鼠標(biāo)懸停時(shí)的樣式變化,我們還設(shè)置了子菜單的顯示和隱藏動(dòng)畫,這樣,我們就可以使用CSS來創(chuàng)建二級(jí)菜單了。