• 下拉菜单效果


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

  • 相关阅读:
    Java笔记(二十一) 动态代理
    Java笔记(二十) 注解
    Java笔记(十九) 反射
    Java笔记(十八)同步和协作工具类
    Java笔记(十七) 异步任务执行服务
    Spring使用笔记(四) 面向切面的Spring
    Spring使用笔记(三) 高级装配
    Java笔记(十六)并发容器
    Java笔记(十五) 并发包
    Java笔记(十四) 并发基础知识
  • 原文地址:https://www.cnblogs.com/AndroidJotting/p/4394283.html
Copyright © 2020-2023  润新知