Pseudo-classes
The book covers material here on p 442 and following.
  1. Pseduo-classes apply styles based on conditions other than their type or something else they are marked with. Some kind of condition.
  2. Pseudo-classes attach to regular selectors with a colon, selector:pseudoclass for instance a:visited, which colors links after they have been clicked on.
  3. Link-related pseduo-classes.
    1. a:link, applies before the link is visited.
    2. a:active, applies after the link has been clicked and still working. Has some other uses as we'll see later.
    3. a:visited, applies after the link has been visited. This isn't effective until the browser is through loading the page; it is still active then.
    4. a:hover is active while the mouse is over the link, but it is not just for links. Most any visible element can have a hover style.
  4. Position-related pseudo-classes.
    1. selector:first−letter, applies to the first letter of the element's text. The element is typically a paragraph, but need not be.
    2. selector:first−child, applies to the first element of its parent.
    3. selector:last−child, likewise, the last child.
    4. selector:nth−child(even), matches an element if it is an even child of its parent, that is, the second, fourth, sixth, etc. There are more complicated forms of this to match various patterns.
    5. Why these need to be pseudo-classes, while things like sibling selectors are not, escapes me.
  5. Active pseduo-classes
    1. The only one that we'll find much use for now is selector:hover, which applies while you are pointing at the element.
    2. We'll find some others useful when we get to HTML forms.
  6. Note that the pseudo-class makes the selection more specific.
    1. Use someselector { generalrules } and someselector:somepseudoclass { exceptions }.
    2. This allows rules that apply in general, but make exceptions, perhaps for just some attributes, when the class is true.
    3. For hover, the styles will shift back and forth as you move the pointer.
  7. A complete list..
[ Pseudo-classes Source ]