Grow your CSS skills. Land your dream job.


Last updated on:

The :active pseudo selector changes the appearance of a link while it is being activated (being clicked on or otherwise activated). It's usually only seen for a split second, and provides visual feedback that the element was indeed clicked. It's most typically used on anchor links (<a href="#">).

For instance, here's CSS that will make anchor links bump down one pixel (giving the impression of being pushed in three-dimensional space) in the active state:

See the Pen :active state by CSS-Tricks Team (@css-tricks) on CodePen.

:Active can also apply to any element. In the Pen below, clicking anywhere on the page will make the whole page yellow:

See the Pen Demo of the :active psuedo class by CSS-Tricks Team (@css-tricks) on CodePen.

It is best practice to cover all of the "states", particularly for links. An easy way to do that is "LOVE HATE" or

L :link
V :visited

H :hover
A :active

Doing them in that order is ideal.

a:link { /* Essentially means a[href], or that the link actually goes somewhere */
  color: blue;
a:visited {
  color: purple;
a:hover {
  color: green;
a:active {
  color: red;

Otherwise, say if you listed the :visited style last, if that link was visited it would override the :active and :hover declaration and the link would always be purple regardless if you were hovering or if the link was active (not ideal).

Other Resources

Browser Support

Chrome Safari Firefox Opera IE Android iOS
Yep 2.0.4+ any 4+ 4+ TBD TBD


  1. “to remove” or “to remember” ? As in a pneumonic? Whoa…

  2. Chris
    Permalink to comment#

    Not working on iOS :-( Hover or Active states don’t get displayed..

  3. Chris
    Permalink to comment#


  4. Chris
    Permalink to comment#
  5. Chris
    Permalink to comment#

    Is it not possible to add html code here that gets displayed rather than parsed?

  6. Keannu Atilano
    Permalink to comment#

    sir can i ask ? what is will i use when i click the image i can resize it. i have already done it but the problem is that i used #id:active{
    /* codes*/
    whenever i click the link or image . it will reverse back to normal . please help.

Leave a Comment

Posting Code

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".