Когда вы определяете все 4 состояния, вы следует определить их в таком порядке:
- Ссылка
- посетили
- Hover
- Активный
Это фиксирует примерно половину вашей проблемы.
a:link { color: blue; }
a:visited { color: blue; }
a:hover { color: red; }
a:active { color: green; }
Другая половина, оставляя ссылки цветными, пока вы не нажмете что-нибудь еще, сложнее. Нет встроенного состояния для ранее нажатого что-либо, поэтому давайте сделаем это.
Во-первых, для этого нам понадобится jQuery, поэтому давайте импортируем его (через Google). Это идет в голове вашего HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js">
</script>
В jfiddle, добавьте это, выбрав JQuery 2.1.4 из выпадающего списка слева вместо этого.
Затем мы можем добавить класс ссылки, если они последний Clicked ссылку, предоставляя эту JavaScript:
$(function(){
$('a').click(function(){
$('a.lastclicked').removeClass('lastclicked'); //remove class from previous link
$(this).addClass('lastclicked'); //add class to newly clicked link
});
});
Наконец, давайте настроить CSS, чтобы сделать окраску:
a:link { color: blue; }
a:visited { color: blue; }
a:hover { color: red; }
a:active { color: green; }
a.lastclicked { color: green; }
Если вы хотите, чтобы цвет наведения был применен и к последней нажатой ссылке, вы можете добавить эту строку:
a.lastclicked:hover { color: red; }
Вы можете увидеть все это в действии in a Fiddle here.
вы можете использовать 'а: активный {цвет: зеленый}' и держать синий на посещаемой – Fahad
Вы не можете сделать это совершенно чисто с помощью CSS, то лучшее, что вы можете получить, если вы перенаправлять цель быть таким же, как щелчком. [Like so] (http://jsfiddle.net/9ncnrwxq/7/), хотя вы теряете функциональность перехода в целевое местоположение. В противном случае вам нужно использовать JavaScript. –