zoukankan      html  css  js  c++  java
  • CSS导航菜单三状态玻璃效果菜单(双层滑动门应用)

    本例进一步讨论背景图片制作菜单的方法,目标是实现一个具有3个状态的菜单,如图所示

    三状态玻璃效果菜单

    首先要准备所需的图片,本例中只是用了一张图片完成这个效果,如图所示:

    现在设置HTML代码,如下所示。

    <div id="menu">

    <ul>

    <li><a href="#"><b>Home</b></a></li>

    <li><a href="#"><b>Contact Us</b></a></li>

    <li><a href="#"><b>Web Dev</b></a></li>

    <li><a href="#"><b>Web Design</b></a></li>

    <li class="current"><a href="#"><b>Map</b></a></li>

    </ul>

    </div>

    对于列表元素ul和列表项目li进行设置,代码如下。

    #menu ul{

           font-family:Arial, Helvetica, sans-serif;

           font-size:14px;

           padding:0 0 0 8px;

           margin:0 auto;

           list-style:none;

           height:50px;

    }

    #menu ul li{

           float:left;

           margin:0 2px;

    }

    设置背景图片,代码如下。

    #menu ul li a{

           display:block;

           float:left;

           line-height:50px;

           color:#666;

           text-decoration:none;

           padding:0 0 0 14px;

           background:url(bj1.gif);

    }

    这是,浏览器中效果如图所示,此时每一个菜单项的普通状态图片已经出现,只是还缺少边缘的配合。

     第一层中的左侧滑动门

    利用<b>标记,可以挂接右侧边缘所需图像,代码如下:

    #menu ul li a b{

           display:block;

           padding:0 14px 0 0;

           background:url(bj1.gif) no-repeat right top;

    }

    这是浏览器里显示的图像就完全出现了,下面只要设置鼠标经过的效果了

    设置第二层滑动门

    现在设置第二层滑动门,即鼠标经过时候的效果,代码如下所示:

    #menu ul li a:hover{

                    color:#fff;

                     background:url(bj1.gif) left center;

    }

    #menu ul li a:hover b{

                    background:url(bj1.gif) right center;

    }

    这时效果如图所示

    设置表示当前页面的菜单项

     

     对表示当前页所在的菜单项进行特殊设置,及设置Class=”current”的列表项目。

    方法和上麦年也是类似的,代码如下:

    #menu ul li.current a{

           color:#fff;

           background:url(bj1.gif) no-repeat left bottom;

    }

    #menu ul li.current b{

           background:url(bj1.gif) no-repeat right bottom;

    }

    设置当鼠标经过这个菜单项是,依然用一样的背景,通知使用箭头光标,代码如下:

    #menu ul li.current a:hover{

           background:url(bj1.gif) no-repeat left bottom;

           cursor:default;

    }

    #menu ul li.current a:hover b{

           background:url(bj1.gif) no-repeat right bottom;

    }

    到现在,该菜单还存在缺点,这个菜单使用了自适应浏览器宽度的方式,也就是浏览器窗口变窄是后,菜单项会自动折行。但个别情况会出现问题,如图所示:

    解决这个问题的方法在前面的案列里曾经使用过,即在“#menu ul”设置的样式中曾加如下规则。

           white-space:nowrap;

     

    它的含义就是一个菜单项不允许从空白字符处折行,这样效果如图所示:

     禁止菜单项内折行

  • 相关阅读:
    mysql-四舍五入
    数据库基础
    大白话五种IO模型
    Python程序中的协程操作-gevent模块
    Python程序中的协程操作-greenlet模块
    协程基础
    Python程序中的线程操作-concurrent模块
    Python程序中的线程操作-线程队列
    Python程序中的线程操作-锁
    Python程序中的线程操作-守护线程
  • 原文地址:https://www.cnblogs.com/zfang/p/2209635.html
Copyright © 2011-2022 走看看