热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【经验】在CSS中定义a:link、a:visited、a:hove

摘自: http://www.qianyunlai.com/post-2.html     以前用CSS一直没有遇到过这个问


摘自: http://www.qianyunlai.com/post-2.html

 

 

以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面。出现一些问题,搜索引擎查了一些网站和资料,发现很多人问到这个问题,给出的结果我试了试,大部分都不正确。

 

给出我试的顺序,可能会对大家有一些帮助:














代码




A:link 


{




 color


:


 #000000


;




 TEXT-DECORATION


:


 none




}




A:visited 


{




 COLOR


:


 #000000


;




 TEXT-DECORATION


:


 none




}




A:hover 


{




 COLOR


:


 #ff7f24


;




 text-decoration


:


 underline


;






}




A:active 


{




 COLOR


:


 #ff7f24


;


  


 text-decoration


:


 underline


;






}















 


 

今天看到一位匿名朋友的问题,又去查了一些资料,这个人讲的非常透彻:引自灵眸●第一炉沉香博客

 

a :link、a:hover、a:visited这几个元素,定义CSS时候的


顺序


不同,也会直接导致链接显示的效果不同。


我想,原因就在于浏览器解释CSS时遵循的“就近原则”。




举例来说:


我想让未访问链接颜色为蓝色,活动链接为绿色,已访问链接为红色:



  • 第一种情况:我定义的顺序是a:visited、a:hover、a:link,这时会发现:把鼠标放到未访问过的蓝色链接上时,它并不变成绿色,只有放在已访问的红色链接上,链接才会变绿。


  • 第二种情况:我把CSS定义顺序调整为:a:link、a:visited、a:hover,这时,无论你鼠标经过的链接有没有被访问过,它都会变成绿色啦。





这是因为,

一个鼠标经过的未访问链接同时拥有a:link、a:hover两种属性

,在第一种情况下,a:link离它最近,所以它优先满足a:link,而放弃a:hover的重复定义。


在第二种情况,无论链接有没有被访问过,它首先要检查是否符合a:hover的标准(即是否有鼠标经过它),满足,则变成绿色,不满足,则继续向上查找,一直找到满足条件的定义为止。






一句话:

在CSS中,如果对于相同元素有针对不同条件的定义,宜将最一般的条件放在最上面,并依次向下,保证最下面的是最特殊的条件




这样,浏览器在显示元素时,才会从特殊到一般、逐级向上验证条件,才会使你的每一个CSS语句都起到效果。


当然,如果故意打乱顺序,也会造成一些特殊的效果。比如,可以为链接制造出下划线颜色与文字颜色的差异。




近日突然发现,原来这个CSS问题早已有高人提出啦。还是个老外呢。他给总结了一个便于记忆的“

爱恨原则

”(

L

o

V

e/

H


A

te),即四种伪类的首字母:LVHA。


再重复一遍正确的顺序:


a:link、a:visited、

a:hover

、a:active

 .


 

 

 

 


最后经验补充:





1.鼠标经过的“未访问链接”同时拥有




a:link、a:hover




两种属性,后面的属性会覆盖前面的属性定义;




2.鼠标经过的“已访问链接”同时拥有




a:visited、a:hover




两种属性,后面的属性会覆盖前面的属性

定义




 



所以说,a:hover定义一定要放在a:link、a:visited的后面,,,



【经验】在CSS中定义a:link、a:visited、a:hover、a:active顺序




推荐阅读
  • HTML制作简单首页导航
    h1大标题:李广程的作业列表查看演示地址一:http:js.lgcweb.cn查看演示备用地址:http:39.105.0.128Ja ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 在分页时,我想让点过的页码变色.应该怎么做?比如:12345我点2跳到第2页然后2变成红色其他为蓝色 ... [详细]
  • <!DOCTYPEhtml><htmllang=en><head><metacharset=UT ... [详细]
  • 前端不规则图像点击_如何在前端开发的潮流中快速学习学好学以致用?
    大家好,我是致力于前端开发,前端设计,前端入门的前端小姐姐,今天为大家带来的前端新知识是【雪碧图和滑动门】,不 ... [详细]
  • 使用HTML创建弹出框以便用户输入信息
    在做项目的过程中,我们时常需要进行一些弹框操作,比如在后台管理时需要进行的一些增删改操作,这个时候我们需要使用到弹框,或者在 ... [详细]
  • Tooltips效果,鼠标经过显示提示 ... [详细]
  • css自适应字体样式?如果是一排文字,一个background‘red’;就搞定了。是多行的话,只有根据文字行高,用一张背景图横向重复。css样式自适应分辨率高度和宽度尽量使用百分 ... [详细]
  • 一、选择器CSS规则由选择器以及声明组成。*选择器分组*h1,h2,h3{}*后代选择器*pem{}*子元素选择器*pem{}*兄弟选择器(选择位于其后具有相同父元素的元素)*h ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
author-avatar
挥霍人生e
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有