Podczas definiowania wszystkie 4 stany, ty należy je zdefiniować w tej kolejności:
- link
- odwiedzone
- Hover
- Aktywny
To rozwiązuje około połowa problemu.
a:link { color: blue; }
a:visited { color: blue; }
a:hover { color: red; }
a:active { color: green; }
Druga połowa, pozostawiając linki w kolorze, aż klikniesz coś innego, jest trudniejsza. Nie ma wbudowanego stanu dla niczego wcześniej klikniętego, więc zróbmy to.
Po pierwsze, potrzebujemy do tego jQuery, więc zaimportujmy ją (przez Google). To idzie w nagłówku HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js">
</script>
W jfiddle, dodasz ten wybierając jQuery 2.1.4 z menu po lewej stronie zamiast.
Możemy następnie dodać klasę do linków, jeśli są one ostatnią klikniętego linku dostarczając ten JavaScript:
$(function(){
$('a').click(function(){
$('a.lastclicked').removeClass('lastclicked'); //remove class from previous link
$(this).addClass('lastclicked'); //add class to newly clicked link
});
});
Wreszcie niech dostosować CSS zrobić kolorystyka:
a:link { color: blue; }
a:visited { color: blue; }
a:hover { color: red; }
a:active { color: green; }
a.lastclicked { color: green; }
Jeśli chcesz, aby kolor aktywowania został zastosowany również do ostatniego klikniętego linku, możesz dodać tę linię:
a.lastclicked:hover { color: red; }
Wszystko to można zobaczyć w akcji in a Fiddle here.
można użyć 'a: active {color: green}' i zachować niebieski na odwiedzanej – Fahad
Nie możesz tego zrobić całkowicie czysto z CSS, najlepiej można uzyskać, jeśli przekierować cel być tym samym, co kliknięty element. [Like so] (http://jsfiddle.net/9ncnrwxq/7/), chociaż tracisz możliwość przejścia do docelowej lokalizacji. W przeciwnym razie musisz użyć JavaScript. –