Treehouse: Grow your CSS skills. Land your dream job.


Last updated on:

:visited is a pseudo class selector used for anchor link elements that matches when the href attribute of that anchor link has been visited in the past by this browser. It is meant to be useful feedback for a user, so they can tell the difference between links they have been to and links they have not.


There have been some security concerns about :visited, namely that a malicious website could have links to tons and tons of websites and have :visited styling, then test the visual style of the links with JavaScript and report back to a server which of these sites the user has visited. This violates the privacy of the user, as they would have no idea this is being done. As a result, many browsers restrict what styling can be done to :visited links and what styling information can be reported.

This is a good run-down of that situation.

Limited Styling

As part of that security stuff, there are limits to what kind of styling a visited link can get. Specifically:

  • color
  • background-color
  • border-color (and its sub-properties)
  • outline-color
  • The color parts of the fill and stroke properties


  1. sda


Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";