HTML标准能够识别超链接的下面三种不同状态:正常(normal)、活动(active)和已访问(visited)。浏览器通常都会对超链接的每种状态使用不同的颜色,你可以使用<body>标记的属性(link、alink和vlink)来替代指定Web页面的这些缺省值。要获得对链接样式的更多控制方法,你可以使用CSS伪类来创建选择器,从而让Web构建者来控制超链接三种状态的样式,当然还有悬停样式。这些伪类如下:
超链接不同状态所具有的截然不同的样式不仅仅是要把Web页面上超链接与周围的文本区别开来——它还要给访问者一种视觉上的反馈,告诉他们每个链接的状态。当链接被点击的时候,它就会改变颜色,以显示浏览器正在积极地加载该页面。对先前已访问页面的链接会以不同的颜色来显示,从而向访问者表明他们曾经访问过那些链接。用于悬停伪类的CSS样式是用来创建流行的翻滚效果的,用以突出鼠标指针经过的超链接。
不愿意接受浏览器缺省设置的Web构建者常常会在他们的网站上为超链接的链接和悬停状态创建(他们自己的)样式,但是他们常常把活动和已访问两个状态给忘记了。处理超链接样式的常见方法是让已访问链接状态与链接状态相同,并完全忽略活动状态或者让它的样式与悬停状态的相同。这种方法通过减少文本颜色的数量来简化页面(及其样式表),但是会潜在地模糊掉链接状态之间的差别。
研究可用性的专家Jakob Nielsen在他的Alertbox专栏里告诫读者总要使用与众不同的颜色和下划线来区别链接和周围的文本,并总要为访问过的链接使用不同的颜色。他的观点是,为访问过的链接使用与众不同的样式是十分必要的,因为这样可以让访问者知道他们过去、现在和未来在浏览什么。如果访问过的链接没有不同的颜色(来区别),网站的访问者就可能会弄糊涂,在原地打转,访问以前访问过了的页面。他说他的研究显示,74%的Web网站都为访问过的链接使用有区别的颜色,所以这已经成为了访问者在访问网站时会期望和依赖的一种惯例了。