您的位置:首页 > 设计资讯 > IT网络 > 内页

Div+Css样式之 a:link,a:visited,a:hover,a:active详细解释

核心提示: 今天在用a:hover属性的时候发现一个奇怪的问题,同一个页面里面有些链接的a:hover效果不能正常表现出来。链接的代码是一样,没有使用其它样

今天在用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

也可以 a.name:link {} ...                                                                           

link:连接平常的状态   
active:连接被按下的时候   
visited:连接被访问过之 后                                                                                                                             hover:鼠标放到连接上的时候

激活的、已访问的、未访问的或者当有鼠标悬停在其上的链接,它们会在支持 CSS 的浏览器中以不同的方式显示出来:

a:link {color: #FF0000}     /* 未访问的链接 */a:visited {color: #00FF00}  /* 已访问的链接 */a:hover {color: #FF00FF}    /* 当有鼠标悬停在链接上 */a:active {color: #0000FF}   /* 被选择的链接 */注释:为了产生预期的效果,在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后!!

注释:为了产生预期的效果,在 CSS 定义中,a:active 必须位于 a:hover 之后!!

注释:Pseudo-class(伪类)的名称对大小写不敏感。

注释:伪类可与 CSS 类配合使用:

a.red:visited {color: #FF0000}<a class="red" href="css_syntax.asp">CSS Syntax</a>如果上面这个例子中的链接已访问过,那么它会显示为红色。

另外,上面的几种不同的状态分别可以设置不同的背景图片(比如用做导航菜单时),可以替代OnMouseOver等事件!

详细的: 
1: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对象,此伪类不发生作用。


文章源自 设计联盟 www.DesignLinks.cn 中国最具影响力的创意设计综合网站

搜索推荐
设计联盟官方微信
设计联盟官方微信
微信公众号:designlinks
扫一扫 订阅最新资讯
回到顶部