纯css代码实现简单下拉菜单效果
导读
实现方法:
1、用ul 和 li标签写一个关联结构(ul 和 li的父子关系浑然天成,一般的关联结构都用它们)
<ul class="nav"> <a href="#">服装</a> <ul class="plat"> <li><a href="#">衬衫</a></li> <li><a href="#">棉袄</a></li> <li><a href="#">裤衩</a></li> </ul> </ul>
2、对界面进行初始化(万金油式开头)
*{ padding: 0; margin: 0; }
3、给ul 和 a标签添加样式(这里大家可以自由发挥)
ul,a{ font-size: 20px; list-style: none; text-decoration: none; background-color: #3C3C3C; color: #FFFFFF; width: 100px; text-align: center; border: 0px solid black; border-radius: 5px; /*圆角*/ margin-top: 1px; } a{ display: block; }
4、将.plat部分的内容隐藏起来
.plat{ display: none; }
5、(重头戏来了) 对第一个a标签用:hover选择器;实现功能:当鼠标划过a标签时,隐藏部分内容可见
.nav:hover .plat{ display: block; clear: both; }
6、至此功能已经实现,大家可以自己添加样式来优化用户体验
例如:
菜单栏横向排列:
.nav{ float: left; margin-left: 1px; }
鼠标滑过栏目,提醒其位置
`.plat li:hover>a{ background-color: dimgrey; }`
效果:
全部代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ padding: 0; margin: 0; } ul,a{ font-size: 20px; list-style: none; text-decoration: none; background-color: #3C3C3C; color: #FFFFFF; width: 100px; text-align: center; border: 0px solid black; border-radius: 5px; margin-top: 1px; } a{ display: block; } .plat{ display: none; } .nav{ float: left; margin-left: 1px; } .nav:hover .plat{ display: block; clear: both; } .plat li:hover>a{ background-color: dimgrey; } </style> </head> <body> <ul> <a href="#">服装</a> <ul> <li><a href="#">衬衫</a></li> <li><a href="#">棉袄</a></li> <li><a href="#">裤衩</a></li> </ul> </ul> <ul> <a href="#">服装</a> <ul> <li><a href="#">衬衫</a></li> <li><a href="#">棉袄</a></li> <li><a href="#">裤衩</a></li> </ul> </ul> <ul> <a href="#">服装</a> <ul> <li><a href="#">衬衫</a></li> <li><a href="#">棉袄</a></li> <li><a href="#">裤衩</a></li> </ul> </ul> </body> </html>
评论(0)