Problem z link active

W pliku style.css ustawiam sobie właściwości linków. I nie ma żadnego problemu z linkiem i link:hover. Generalnie chodzi mi o ustawianie różnego obrazka tła pod linkiem. Problem pojawia się przy link:active. Jakkolwiek bym sie do tego nie zabierała, za nic nie chce mi wyświetlic obrazka pod linkiem do aktualnej strony.

Dodam, że rzeczone tło działa gdy sprawdzam kod dla zwykłego linka , a przy railsowej konstrukcji <link_to_unless_current “home”, :action => …, :controller => …> już nie.
Nie wiem czy to railsy nie pozwalają na zdefiniowanie tego, czy problem tkwi w czymś innym…

Bardzo proszę o pomoc, bo walczę już z tym kilka dni i naprawdę skończyły mi się już pomysły.

Poczytaj o tym co to właściwie jest a:active :slight_smile:

Żeby być bardziej helpful, można napisać, że a:active to nie jest link do bieżącej strony, tylko link, który właśnie jest klikany przez usera. Czyli klawisz myszki jest naciśnięty, a jeszcze nie puszczony.

http://www.w3.org/TR/CSS21/selector.html#dynamic-pseudo-classes

Jeśli chcesz jakoś wyróżnić link do aktualnej strony, to musisz mu np. nadać odpowiednią klasę (class=“active” może być, jak najbardziej), a możesz do tego użyć tego wspomnianego link_to_unless_current, choć wtedy nie ma sensu tworzyć linka, skoro można czy coś takiego.

Alternatywnie, możesz zwalić całą robotę na JavaScript, który może przelecieć się po wszystkich i dla każdego porównać jego “href” z adresem bieżącej strony. Jeśli porównanie wypadnie pozytywnie, może linkowi dodać klasę, na przykład tę “active”. Zaleta jest ta, że twój serwer ma mniej roboty, wadą to, że nie każdy ma włączony JavaScript.

Najprościej nic nie kombinować i użyć tego właśnie link_to_unless_current

Z przykładu:

[code=ruby]


  • <%= link_to_unless_current(“Home”, { :action => “index” }) %>

  • <%= link_to_unless_current(“About Us”, { :action => “about” }) %>
[/code] Dostaniesz powiecmy coś takiego [code=ruby] [/code] Wtedy w Css [code=sass]ul li :background-color #fff a :background-color #000[/code] powiedzmy, wtedy to co nie jest linkiem jest aktywną stroną i ma kolor fff, a co jest linkami ma 000 i tyle zero kombinowania.

Czyli to co koledzy piszą wyżej, chyba już zupełnie zrozumiale ;]

Trzeba dobrać dobrze CSS i będzie ok.

Już kiedyś omawialiśmy podobny problem.

Dzięki za pomoc. Problem rozwiązany. :slight_smile: Tak btw to znalazłam przyjazny plugin do robienia menu - simple-navigation i uzyskałam pożądany efekt.