Masz niejawnie ustawione transition: all 1s 0s linear; gdy masz taki zapis, transition-duration:1s; w tej części:
#nav a:link
{
text-decoration:none;
font-size:17px;
transition-duration:1s; <-- ten wpis
color:white;
}
transition-duration:1s - automatycznie resztę przeglądarka ustawia z domyślnych (default).
transition-property: all; // default
transition-duration: 1s; // Twoje ustawienie
transition-delay: 0s; // default
transition-timing-function: linear; // default
Pseudo klasa :link działa w css w dużym uproszczeniu jak w html wywołanie coś na wzór beforeonload, czyli zaraz po uruchomieniu (ładowaniu, załadowaniu) strony i sparsowaniu jej, w trakcie ustawiania css-a na elementach strony, wykonuje się ten kod na elementach <a>.
W pewnym sensie oba te zapisy są równoznaczne:
#nav a { ... } i #nav a:link { ... }
zrób taki zapis a zobaczysz różnicę
#nav a:link
{
text-decoration:none;
font-size:17px;
/* transition-duration:1s; */
color:white;
}
albo
#nav a:link
{
text-decoration:none;
font-size:17px;
color:white;
}
albo
#nav a:link
{
text-decoration:none;
font-size:17px;
transition-duration:5s;
color:white;
}
[ css - transition ]