Цвет гиперссылки ASP.NET MVC Html.ActionLink

Как я могу изменить цвета гиперссылки, созданной вспомогательной функцией Html.ActionLink?

[дополнительная информация] Цвета должны быть разными для каждого состояния гиперссылки, то есть активного, выбранного, уже выбрано и т.д.

Ответ 1

Обычно вы делаете что-то вроде этого:

Html.ActionLink("My Link", "MyAction", null, new { @class = "my-class" })

И затем используйте CSS для стиля my-class:

a.my-class { color: #333333 }
a.my-class:active { color: #666666 }
a.my-class:link { color: #999999 }
a.my-class:visited { color: #CCCCCC }

Ответ 2

Метод ActionLink() перегружен. Некоторые из этих сигнатур допускают прохождение параметра object htmlAttributes.

Вы можете сделать что-то вроде этого:

Html.ActionLink("foo", "bar","baz",   
            new { id = 1}, //   Route args if needed; null if not.
            new {@style="color:#000aaa;" }
            );

Возможно, у вас уже определен класс CSS:

Html.ActionLink("foo", "bar","baz",   
            new { id = 1}, //   Route args if needed; null if not.
            new {@class="MyClass;" }
            );

Ответ 3

Некоторые объяснения основаны на ответе @dahlbyk

  • a: link - обычная, невидимая ссылка
  • a: посещенная - ссылка, которую посетил пользователь.
  • a: hover - ссылка, когда пользователь мыши над ней
  • a: active - ссылка в момент ее нажатия

При настройке стиля для нескольких состояний ссылок существуют некоторые правила порядка:

  • a: hover ДОЛЖЕН прибыть после: link и a: visited
  • a: active ДОЛЖЕН прийти после: hover

Более подробную информацию можно найти здесь

Ответ 4

попробуйте, этот способ также будет полезен для кого-то

Html.ActionLink("Your Link", "YourAction")

<style>   
  a{
        color: #FF5722;
        text-decoration: none;
    }

//if needed hover
  a:hover {
            color: #FF5722;
     }
//Likewise active,visited
</style>