Страница ASP.NET MVC, проблема CSS (?) - PullRequest
0 голосов
/ 14 июня 2010

У меня есть сайт ASP.NET MVC (главная страница + страницы содержимого). На главной странице у меня есть меню. Когда в меню выбраны некоторые параметры, он приводит вас к соответствующему контроллеру и показывает страницу, что нормально, но также показывает подменю. Подменю показывает просто отлично, но проблема кроется в меню. Я не могу заставить css меню работать на меня.

Вот код меню:

<ul id="menuDeveloper">
    <li><%= Html.ActionLink("Home", "Index", "Home", new { area = (String)null }, null)%></li>
    <li id='idcardselect'><%= Html.ActionLink("IDCard", "Index", "IDCardSelect", new { area = "IDCard_Select" }, null)%></li>
    <li><%= Html.ActionLink("Groups", "Index", "GroupSetup", new { area = "Group_Setup" }, null)%></li>
</ul>

Вот CSS, который идет с этим:

    ul#menuDeveloper{
  font-family: Arial, Helvetica, sans-serif;
  font-size: 93%;
  float: right;
  background: url("images/bg-menu.gif") no-repeat 50% -9px;
  margin-right: 22px;
  margin-top:  6px;
  height: 46px;
  width: 541px;
 }
  ul#menuDeveloper li{
   float: left;
   margin-left: 20px;
   margin-top: 10px;
  }
   ul#menuDeveloper li a{
    color: #6192c1;
    padding: 10px 2px 15px 2px;
    text-decoration: none;
    text-transform: uppercase;
    height: 46px;    
   }
    ul#menuDeveloper li a.active{
     background: #e0e0e0;
     color: #1f67a7;
    }
    ul#menuDeveloper li a:hover{
     background: #e0e0e0;
     color: #1f67a7;
    }

    ul#menuDeveloper li.menuidcardactive
    {
     background: #e0e0e0;
     color: #1f67a7;
    }

Весь CSS работает просто отлично, за исключением последней части (класс .menuidcardactive). Это может быть способ, которым я применяю это. По сути, получается, что элемент

НЕ получает стиль, но элемент получает его часть (только часть фона, «цвет» не изменяется). Я пробовал несколько способов изменения класса. Я просто хочу, чтобы был «активным», пока отображается подменю, поэтому меню «подключается», и пользователь понимает, для чего подменю.

Вот пример того, что я пытался изменить класс для

:
$("#idcardselect").attr('class', 'menuidcardactive');
$("#idcardselect").addClass('menuidcardactive');
$("#idcardselect").removeClass().addClass('menuidcardactive');

Все это было сделано внутри $ (window) .load (function () {}); кодовый блок страницы индекса (при нажатии на пункт меню, в данном случае «IDCard»).

Любые мысли / решения будут с благодарностью.

Спасибо!

1 Ответ

1 голос
/ 14 июня 2010

Я думаю, что проблема заключается в вашем CSS.Попробуйте добавить 'a' в конец последнего элемента, чтобы применить этот стиль к привязке, а не к li.

ul#menuDeveloper li.menuidcardactive a

вместо

ul#menuDeveloper li.menuidcardactive

Что кажетсяпроисходит то, что ваш стиль применяется к li (поэтому фон применяется), но цвет текста переопределяется на

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