ASP.NET/CSS - не удается получить: active для работы - PullRequest
0 голосов
/ 07 июля 2010

У меня есть строка меню на главной странице, которая состоит из 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 Ответ

1 голос
/ 08 июля 2010

Один из вариантов (и я уверен, что они наверняка будут лучше) будет иметь дополнительный класс, может быть, activepage, а затем добавить этот класс в активный пункт меню на каждой странице. Вы можете попробовать сделать это динамически при загрузке страницы. Этот класс activepage может иметь запись CSS, которая включает background:url('home_hover.gif') no-repeat;

На всякий случай, если вы не знали, для одного html-элемента можно задать несколько идентификаторов классов, разделяя их пробелом, например: <a href="foo.html" class="activepage menuHome">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...