CSS 链接样式

超链接是网页的基本元素之一,几乎每个网页我们都可以看到超链接。在之前讲 HTML 的时候就讲过,超链接会自带一些默认样式,例如未点击的超链接会显示带下划线的蓝色字体、点击时字体变为红色、点击后字体变为紫色。这种点击前后不一致的样式,其实是超链接的伪类样式,伪类就是不根据名称、属性或者内容,而是根据标签处于某种行为或状态时的特征来修饰样式,也就是说超链接将根据不同的状态显示不同的样式。

去掉链接的下划线

首先,我们知道超链接本身是带有默认下划线的,但是一般我们在网页中看到的超链接都是没有下划线的,那么要如何去掉超链接的下划线呢? 其实前面我们讲文本样式的时候提到过,就是使用 text-decoration 属性。

示例:

下面是两个超链接:

<body>
    <p><a href="#">普通的超链接</a></p>
    <p><a href="#" class="no">去掉下划线的超链接</a></p>
</body>

我们使用类选择器 no ,去掉其中一个链接的下划线:

.no{
    text-decoration: none;
}

在浏览器中的演示效果:


链接伪类

超链接有一个特点,就是可以根据它们所处的状态来设置不同的样式。

超链接的四种状态(伪类)如下所示:

伪类名称 描述
a:link 未点击访问时超链接的样式
a:hover 鼠标悬浮其上的超链接样式
a:visited 单击访问后的超链接样式
a:active 点击访问未释放的超链接样式

伪类样式的基本语法:

a:伪类名 {
    属性:属性值;
}
示例:

例如设置不同状态下超链接的字体颜色:

<a href="#">这是一个超链接</a>

CSS 样式代码:

a:link{ color: #F00; }   /* 未被访问的链接 */
a:visited {color:#00FF00;} /* 已被访问的链接 */
a:hover {color:#FF00FF;}   /* 鼠标指针移动到链接上 */
a:active {color: #ff7300;}  /* 正在被点击的链接 */

在浏览器中的演示效果:


上面讲到的四种超链接伪类,在设置样式时对顺序有没有要求呢?当然有啦,在 CSS 设置超链接伪类的顺序为:a:link 和 a:visited --> a:hover --> a:active

其中 a:hover 必须位于 a:linka:visited 之后,a:active 必须位于 a:hover 之后,如果设置顺序不对,则样式可能不起作用。

设置鼠标指针形状

在浏览网页的时候,我们通常可以看到鼠标的指针形状一般可以为箭头、手形、I字形等,这些效果都可以通过 CSS 中的 cursor 属性来设置。

cursor 属性的常用属性值如下所示:

属性值 描述
default 默认光标,箭头
pointer 超链接的指针,手型
wait 指示程序正在忙
help 指示可用的帮忙
text 指示文本
crosshair 鼠标呈现十字状
示例:

举个例子,例如要设置当鼠标移动到超链接上时,将鼠标指针变为十字状:

a:hover {
    color: green;
    cursor: crosshair;
}  

在浏览器中的演示效果: