ASP.NET / CSS - 无法获得:主动工作

时间:2010-07-07 17:49:21

标签: asp.net css

我的母版页中有一个菜单栏,由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;
}

我的超链接背景图像正在渲染,鼠标悬停效果也起作用,我只是无法将鼠标悬停图像“粘贴”/保持活动状态。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

一个选项,(我觉得肯定会有更好的选择)是有一个额外的类,可能是activepage然后将此类添加到每个页面上的活动菜单项。 您可以尝试在Page Load上动态执行此操作。此activepage类可以包含background:url('home_hover.gif') no-repeat;

的css条目

如果您不知道,可以通过用空格分隔来在单个html元素上设置多个类标识符,例如:<a href="foo.html" class="activepage menuHome">