That has nothing to do with which browser you use to view the website. It's how you've written the CSS, or rather, where you've written it.
CSS operates on a cascade based on specificity and positioning. Something called towards the end of a stylesheet takes precedence over something declared above it.
If you were to do something like this:
Your links would be green because of this cascade.
Your CSS is experiencing similar. You have to be careful about which order you call the anchor pseudo classes. In general follow these two rules:
a:hover MUST come after a:link and a:visited in the CSS definition in order to be effective
a:active MUST come after a:hover in the CSS definition in order to be effective