The CSS trick is
#menu a:active { color: #f00; }
Same for :hover and :visited
Good luck!
EDIT
Seeing now that you want the link to the page you're on being styled differently, I need more details. Do you use PHP? Don't you use one php script per page?
Anyway, this should work, in case you have a header.php file that you include in all your pages or you're simply lazy to hard-code the classes for every link.
PHP:
// Return $return if this page is $page, false otherwise function is_current($page, $return) { $this_page = $_SERVER['SCRIPT_NAME']; // will return /path/to/file.php $bits = explode('/',$this_page); $this_page = $bits[count($bits)-1]; // will return file.php, with parameters if case, like file.php?id=2 $bits = explode('?',$this_page); $this_script = $bits[0]; // will return file.php, no parameters return ($page == $this_script?$return:false); // return $return if this is $page, false otherwise }
CSS
/* blue, no underline when normal */ a { text-decoration: none; color: #00f; } /* red, underlined when class active */ a.active { text-decoration: underline; color: #f00; }
Your file
<!-- Simply echo the function result for each link class --> <a href="home.php" class="<?php echo is_current('home.php','active'); ?>">Home</a> <a href="about.php" class="<?php echo is_current('about.php','active'); ?>">About</a>