之前为大家介绍过有关HTML中的一些比较炫的效果,本篇为大家介绍一些,大家在网站中经常可以见到的一种下拉菜单效果,这种菜单效果一般分为两层,当我们的鼠标经过一级菜单时,隐藏的二级菜单就会显示出来,这样即保证了页面的美观,同时又不会使页面的模块减少,甚至可以增加模块数目。
一、废话不多说,下面我们来通过HTML+CSS为大家实现一下上面的效果,首先请大家先欣赏一下效果图:
1、界面布局代码:
<body> <div id="var"> <ul> <li><a href="#">首页</a></li> <li><a href="#">软件工程</a> <ul> <li><a href="#">JAVA</a></li> <li><a href="#">NET</a></li> </ul> </li> <li><a href="#">通信工程</a></li> <li><a href="#">计算机管理</a> <ul> <li><a href="#">JAVA</a></li> <li><a href="#">NET</a></li> </ul> </li> <li><a href="#">物联网系</a></li> </ul> </div> </body>
2、css代码:
<style type="text/css"> *{padding: 0; margin: 0;} #var{background-color: #eee; 600px; height: 40px; margin: 0 auto;} ul{list-style: none;} ul li{float: left; line-height: 40px; text-align: center; position: relative;} a{ text-decoration: none; color:#000; display: block; padding:0 10px; height: 40px;} a:HOVER {color: #fff; background-color: #666;} ul li ul li{float: none; background-color: #eee; margin-top: 2px;} ul li ul{ position: absolute; left: 0px; top:40px; display: none;} ul li ul li a:HOVER { background-color: #06f;} ul li:hover ul{ display: block;} </style>
对于CSS代码都是最基本的,我想大家都能的看懂吧,可能有一些看上去有些吃力,下面我就带大家一起分析一下,这段代码:list-style:none;表示去掉样式,也就是去除每个li前的小黑点;对于a下的text-decoration: none;表示去除超链接下的下划线;a:hover表示鼠标经过超链接是的效果;display: block;表示把ul转化为块级元素。其他的都是一些常规属性,就不再赘述,只要理解了盒子模型的理念,这都不是事。
二、html+css+javascript实现上述效果:
3、界面代码:
<body> <div id="var"> <ul> <li><a href="#">首页</a></li> <li onmouseover="show(this)" onmouseout="quit(this)"><a href="#">软件工程</a> <ul> <li><a href="#">JAVA</a></li> <li><a href="#">NET</a></li> </ul> </li> <li><a href="#">物联网工程</a></li> <li onmouseover="show(this)" onmouseout="quit(this)"><a href="#">信息管理</a> <ul> <li ><a href="#">JAVA</a></li> <li><a href="#">NET</a></li> </ul> </li> <li><a href="#">网络安全</a></li> <li><a href="#">计算机科学与技术</a></li> </ul> </div> </body>
4、css代码:
<style type="text/css"> *{ margin: 0; padding: 0;} #var{background-color: #eee; width: 600px; height: 40px; margin: 0 auto;} ul{list-style: none;} ul li{ float: left; line-height: 40px; text-align: center; position: relative;} a{ text-decoration: none; padding:0 10px; height: 40px; color:#000; display: block;} a:HOVER { color: #fff; background-color: #666;} ul li ul li{ float: none; background-color: #eee; margin-top: 2px;} ul li ul{ position: absolute; left: 0px; top:40px; display: none;} ul li ul li a:HOVER{ background-color: #06f;} </style>
5、JavaScript实现上述效果:
<script type="text/javascript"> function show(li){ var submenu = li.getElementsByTagName("ul")[0]; submenu.style.display="block";//鼠标经过时显示二级菜单 } function quit(li){ var submenu = li.getElementsByTagName("ul")[0]; submenu.style.display="none";//鼠标离开时隐藏二级菜单 } </script>
三、变化菜单的实现,界面欣赏:
6、界面代码:
<body> <div id="var"> <ul> <li><a id="a1" href="#">首页<span>index</span></a></li> <li><a href="#">课程大厅<span>home</span></a></li> <li><a href="#">学习中心<span>study</span></a></li> <li><a href="#">关于我们<span>me</span></a></li> <li><a href="#">论坛<span>say</span></a></li> </ul> </div> </body>
7、css代码:
<style type="text/css"> *{ padding: 0px; margin: 0px;} #var{ font-size: 12px; font-weight: bold; border-bottom: 8px solid #666; overflow: auto;} #var li{ float: left; margin-left: 1px; list-style: none;} #var li a{ line-height: 20px; text-decoration: none; background-color: #ddd; color: #666; display: block; width: 80px; text-align: center;} #var li a span{ display: none;} #var li a:HOVER{ margin-top: -20px; background-color: #666; color: #fff;} #var li a:HOVER span{ display: block;} </style>
讲到这里关于本篇的菜单栏设计,我相信大家都已经学会了,有没有感觉到CSS的强大,反正我算是服了,作为一个网站开发工程师,如果你说你不懂SCC估计有可能会被笑掉大牙。以上内容,如有异议,请留言。