分享

下拉菜单效果

 天才白痴书馆 2015-04-14

之前为大家介绍过有关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; 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; 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估计有可能会被笑掉大牙。以上内容,如有异议,请留言。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多