CSS定义中a:link,a:visited,a:hover,a:active-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

CSS定义中a:link,a:visited,a:hover,a:active

简介:
CSS定义中a:link,a:visited,a:hover,a:active 分别是什么意思?
假如CSS放在Style文件夹下,页面引用时:
<link href="Style/a.css" rel="stylesheet"type="text/css" />
<link href="Style/b.css" rel="stylesheet"type="text/css" />
<link href="Style/c.css" rel="stylesheet"type="text/css" />
需要哪个样式,就引用哪个样式。
PS:你找一下你的CSS文件中,哪个文件中含有hei_b3,写法应该是.hei_b3{...},在哪个CSS里存在,页面就引用哪个CSS
有多个CSS的情况下,如果你要看某个页面文件调用的是哪一个CSS文件,可以这样.直接看那个页面文件的源代码.在头部会有类似<linkhref="Style/a.css" rel="stylesheet" type="text/css"/>这样的代码..其中 a.css就是所调用的CSS文件.
 
: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对象,此伪类不发生作用。
 
在CSS中定义A:active/A:link/A:visited/A:hover顺序
正确的顺序:a:link、a:visited、a:hover、a:active
 1:解释
link:连接平常的状态  
 active:连接被按下的时候  
 visited:连接被访问过之后  
  hover:鼠标放到连接上的时候

详细的: 
: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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章