您的位置:首页 > 其它

a:link,a:visited,a:hover,a:active

2015-09-09 17:57 232 查看
1:解释

link:连接平常的状态

visited:连接被访问过之后

hover:鼠标放到连接上的时候
active:连接被按下的时候

详细的: 

:hover版本:CSS1/CSS2  兼容性:IE4+ NS4+

语法:

Selector : hover { sRules }

说明:

设置对象在其鼠标悬停时的样式表属性。

在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。

目前IE5.5+仅支持CSS1中的:hover。

:active版本:CSS1/CSS2  兼容性:IE4+

语法:

Selector : active { sRules }

说明:

设置对象在被用户激活(在鼠标点击与释放之间发生的事件)时的样式表属性。

在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。并且:active状态可以和:link以及:visited状态同时发生。

目前IE5.5+仅支持CSS1中的:active。

:link版本:CSS1  兼容性:IE4+ NS4+

语法:

Selector : link { sRules }

说明:

设置a对象在未被访问前的样式表属性。

IE3将:link伪类的样式表属性作用于visited伪类。

默认值由浏览器决定。

对于无href属性(特性)的a对象,此伪类不发生作用。

:visited版本:CSS1  兼容性:IE4+ NS4+

语法:

Selector : visited { sRules }

说明:

设置a对象在其链接地址已被访问过时的样式表属性。

IE3将:link伪类的样式表属性作用于visited伪类。

默认值由浏览器决定。定义网页过期时间或用户清空历史记录将影响此伪类的作用。

对于无href属性(特性)的a对象,此伪类不发生作用。

2:hover和a:visited书写顺序的重要性

今天在用a:hover属性的时候发现一个奇怪的问题,同一个页面里面有些链接的a:hover效果不能正常表现出来。链接的代码是一样,没有使用其它样式固定,搞的我莫名其妙。还以为是某个标签没有关闭,但是页面比较长,检查起来又嫌累,但是想来想去找不到其它原因,索性把浏览器一关,做别的事情去了。

重新打开这个页面的时候,突然发现那个链接的a:hover效果又出来了。我想了一下,点了那个链接,然后回过头再点,果然又没了。连忙检查css文档,发现a:hover属性写在了visited之前,改写到之后,重试,ok!

以前看书的时候注意到css中关于链接表现的书写有提示说各属性顺序不能颠倒,一直没有注意,写的时候通常都很随意。现在看来不能这个顺序还是很重要的。

css中关于超链接的四个属性一般正常顺序为:link,visited,hover,active,即

a:link

a:visited

a:hover

a:active

<!DOCTYPE html>

<html>

<head>

<style>

ul

{

list-style-type:none;

margin:0;

padding:0;

overflow:hidden;

}

li

{

float:left;

}

a:link,a:visited

{

display:block;

width:120px;

font-weight:bold;

color:#FFFFFF;

background-color:#bebebe;

text-align:center;

padding:4px;

text-decoration:none;

text-transform:uppercase;

}

a:hover,a:active

{

background-color:#cc0000;

}

</style>

</head>

<body>

<ul>

<li><a href="#home">Home</a></li>

<li><a href="#news">News</a></li>

<li><a href="#contact">Contact</a></li>

<li><a href="#about">About</a></li>

</ul>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: