ASP.NET/CSS - 无法获得 :active to work

标签 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;
}

我的超链接背景图片正在渲染,鼠标悬停效果也有效,我只是无法让鼠标悬停图像“固定”/保持事件状态。有帮助吗?

最佳答案

一个选择(我觉得肯定会有更好的选择)是增加一门课,也许是activepage然后将此类添加到每个页面上的事件菜单项中。 您可以尝试在页面加载时动态执行此操作。这activepage类可以有一个包含 background:url('home_hover.gif') no-repeat; 的 css 条目

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

关于ASP.NET/CSS - 无法获得 :active to work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197426/

相关文章:

输入在标签内时的 CSS 复选框和单选按钮?

html - 将 3 个内容框并排放置

css - Wordpress 上的 CSS 问题

asp.net - 根据菜单选择更改菜单的背景颜色

c# - System.Data.SQLite 无法加载扩展

asp.net - Page.PreLoad 和 Page.Load 事件之间会发生什么?

c# - OnCheckedChanged 事件根本没有在 GridView 中触发

c# - 服务器标记格式错误

html - 为 radio 添加背景

html - 列表未正确定位在左浮动字段集周围