首页 > 代码库 > 超链接标签的CSS伪类link,visited,hover,active
超链接标签的CSS伪类link,visited,hover,active
CSS伪类,是一种特殊的类,它针对到CSS选择器起作用,使选中的标签或元素产生特定的效果。
CSS伪类的语法就是: 选择器 : 伪类名 { 属性 : 属性值 }
用的最多的伪类就是超链接a的伪类,有:link,:visited,:hover,:active,而且需要按照这个顺序设置,有个简单的记法是,取首字母组成 love hate,记住“爱恨”就行了。
1, 查看超链接a标签的默认样式
新建一个网页a.html,复制下面的内容:
<html>
<head>
</head>
<body >
<a>没有href的a标签,字体没有修饰,鼠标放上去也没反应</a> </br>
<a href="http://www.mamicode.com/#" target="_blank"> href为#的a标签,默认蓝色,带下划线,鼠标放上去变成手 </a> </br>
<a href="http://www.a.com" target="_blank" >href为网址的a标签,效果同上</a>
</body>
</html>
在浏览器中查看,效果如下:
2, 去掉超链接的下划线
一般我们看到的超链接都是没有下划线的,这里通过css去掉下划线。
<html>
<head>
<style type="text/css">
a { text-decoration:none;}
</style>
</head>
<body >
<a>没有href的a标签,字体没有修饰,鼠标放上去也没反应</a> </br>
<a href="http://www.mamicode.com/#" target="_blank"> href为#的a标签,默认蓝色,带下划线,鼠标放上去变成手 </a> </br>
<a href="http://www.a.com" target="_blank" >href为网址的a标签,效果同上</a>
</body>
</html>
效果图如下:
通过 a { text-decoration:none;} 去掉下划线。
这句话的意思是“设置a标签的文本修饰为none,就是没有样式”
3, 给a标签添加上伪类,代码如下:
<html>
<head>
<style type="text/css">
a { text-decoration:none;}
a:link { color: red;}
a:visited { color: green;}
a:hover { color: blue;}
a:active { color: yellow;}
</style>
</head>
<body >
<a>没有href的a标签,字体没有修饰,鼠标放上去也没反应</a> </br>
<a href="http://www.mamicode.com/#" target="_blank"> href为#的a标签,默认蓝色,带下划线,鼠标放上去变成手 </a> </br>
<a href="http://www.a.com" target="_blank" >href为网址的a标签,效果同上</a>
</body>
</html>
效果图如下:
此时,CSS起作用的是a:link { color: red;}
如果a标签具有href属性,并且没有被浏览器打开过,超链接就会显示为红色;
第一个a标签没有href属性,显示效果和文本一样。
第二个虽然是个无效的href值,href=http://www.mamicode.com/”#”,但是这种情况也常用,可以通过脚本写一些事件;
第三个是有效的链接地址,显示正常。
浏览器似乎会记忆很长时间,只要你曾经打开过这个href中写的url,它都会认为你打开过这个链接。
4, 单击a标签,查看访问过的样式
效果图如下:
此时可以看出,a标签中的文本都变为绿色了。
此时起作用的是a:visited { color: green;}
它的作用就是设置被访问过的超链接a的样式。
而且只要被浏览器访问过,浏览器会记忆很久。
5, 把鼠标放到超链接上,查看效果
此时,第一个标签显示为蓝色,因为我用的是qq截图,所以没有把“鼠标手”截图下来。
a:hover { color: blue;}
这是设置当鼠标放到标签a的上方的时候,应用的样式,这里设置字体为蓝色;当鼠标移走,就又恢复了本来的样式。
6, 单击一下超链接,看看效果
此时可以看到,超链接字体变为了黄色。
a:active { color: yellow;}
这个就是设置当单击(也就是激活)a标签时,超链接的样式。这里设置字体黄色。
二、著名网站对a标签的设置
1,网站导航hao123.com
该网站首先对a标签进行统一的设置,代码如下:
a {
color: #333;
text-decoration: none;
outline: 0px none;
}
设置了字体颜色,去掉了下划线。
然后,当把鼠标放到超链接上时,效果如下:
字体设置为红色,带有下划线。
代码如下:
a:hover { color: red; text-decoration:underline}
对hao123来说,他只设置了这a标签的通用样式,和鼠标悬浮状态,这样,我们看着导航网也比较正常,否则会导致一个网页上,超链接颜色不同,不好看。
2,腾讯qq网
a{color:#172c45;text-decoration:none}
a:hover{color:#cd0200;text-decoration:underline}
3,淘宝网
a{
color:#6d6d6d;
text-decoration:none
}
a:hover{
color:#ff4200;
text-decoration:underline
}
因为IE6对 : hover 是支持的,而对其他的伪类不是太支持,因此设置一个 a 的通用样式和 : hover样式就足够了。
而且也没有必要对a标签设置4中状态,上面的例子就可以看出。
文章在百度经验的地址:
http://jingyan.baidu.com/article/0320e2c1f7a5741b87507bf0.html
超链接标签的CSS伪类link,visited,hover,active