我的母版页中有一个菜单栏,由4个超链接组成,背景图像是使用css设置的。在悬停时,这些图像也会被css换掉。所以每个菜单项(超链接)都有两个图像,一个静态图像和一个悬停图像。当用户点击其中一个菜单项并被带到该页面时,我希望将该悬停图像“粘贴”到该页面。这是我的代码:
<div id="nav">
<asp:HyperLink ID="hlHome" runat="server"
NavigateUrl="~/Default.aspx" CssClass="menuHome" />
</div>
#nav a, #nav a:visited
{
height:39px;
border:none;
padding:0;
display:block;
cursor:pointer;
}
a.menuHome, a.menuHome:visited
{
width:76px;
height:39px;
background:url('home.gif');
}
a.menuHome:hover, a.menuHome:active
{
width:76px;
height:39px;
background:url('home_hover.gif') no-repeat;
}
我的超链接背景图像正在渲染,鼠标悬停效果也起作用,我只是无法将鼠标悬停图像“粘贴”/保持活动状态。有什么帮助吗?
答案 0 :(得分:1)
一个选项,(我觉得肯定会有更好的选择)是有一个额外的类,可能是activepage
然后将此类添加到每个页面上的活动菜单项。
您可以尝试在Page Load上动态执行此操作。此activepage
类可以包含background:url('home_hover.gif') no-repeat;
如果您不知道,可以通过用空格分隔来在单个html元素上设置多个类标识符,例如:<a href="foo.html" class="activepage menuHome">