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;

 

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

 禁止菜单项内折行

原文地址:https://www.cnblogs.com/zfang/p/2209635.html