Связывание текста без изменения цвета текста на синий - PullRequest
0 голосов
/ 02 февраля 2012

Я использую haml для отображения имени пользователя и псевдонима (в формате одной строки), как показано ниже

//haml code
%div.name
  <%= user.name %> /
  %a.nickname{:href => '#!/<%= user.nickname %>'} <%= user.nickname %>

Как это выглядит в Интернете

enter image description here

Как сделать так, чтобы вся строка выше была кликабельной в Интернете, но в то же время сохранить цвета текста?(т. е. текст «Некоторое имя пользователя» можно связать как «ник», но сохранить его цвет серым)

1 Ответ

1 голос
/ 25 февраля 2012

Это немного старый, и опубликованный код кажется немного странным, но я собираюсь просто опубликовать фрагмент Haml и ответить на него относительно моего фрагмента как с помощниками рельсов, так и без них

.name
  = link_to user.name, "#!/#{user.name}", :class => 'username' 
  /
  = link_to user.nickname, "#!/#{user.nickname}", :class => 'nickname'

или без

.name
  %a.username{:href => "#!/#{user.name}"}
    = user.name
  /
  %a.nickname{:href => "#!/#{user.nickname}"}
    = user.nickname

, если вы используете Sass, включите это или некоторое подмножество этих правил, чтобы отключить подчеркивание, а также замените # 999 на любой цвет, который вы используете для обычного текста.Если вам нужно различное поведение для каждого, разбейте их на отдельные наборы правил

Одинаковое поведение для обеих частей имени

.name
  .username, .nickname
    a:link, a:visited, a:hover, a:active, a:focus
      :color #AAA      
      :text-decoration none

Или укажите различное поведение для каждого

.name
  .username
    a:link, a:visited, a:hover, a:active, a:focus
      :color #AAA      
      :text-decoration none
  .nickname
    a:link, a:visited, a:hover, a:active, a:focus
      :color #00A      
      :text-decoration underline
...