今天学到一个有趣的新知识呢,迫不及待的想分享一下。自学前端的这条路上,还在基础部分打转,未来好难,走好现在脚下的每一步才是我现在最重要的。小小地感慨一下,下面进入正题吧。

1. <a>标签

我们先说一说<a>标签是干啥用的。

<a> 标签定义超链接,用于从一张页面链接到另一张页面。

<a> 元素最重要的属性是 href 属性,它指示链接的目标。

在所有浏览器中,链接的默认外观是:

  • 未被访问的链接带有下划线而且是蓝色的
  • 已被访问的链接带有下划线而且是紫色的
  • 活动链接带有下划线而且是红色的

<a>标签还有一个很重要的属性:target,它用于规定在何处打开链接文档,取值有:_blank;_parent;_self;_top。这个我后面也会小小地总结一下。

2. a链接的四种状态

伪类是CSS 用于向某些选择器添加特殊的效果。

a标签中有四个:link、visited、hover、active

(1)link

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

(2)visited

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

(3)hover

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

(4)active

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

定义CSS时候的顺序不同,也会直接导致链接显示的效果不同。原因可能在于浏览器解释CSS时遵循的“就近原则”。正确的顺序:a:link、a:visited、a:hover、a:active

解释:

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

举例来说:

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

第一种情况:我定义的顺序是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问题早已有高人提出啦,还是个老外呢。他给总结了一个便于记忆的“爱恨原则”(LoVe/HAte),即四种伪类的首字母: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的后面!

谈一谈a:link、a:visited、a:hover、a:active的正确使用顺序相关推荐

  1. 链接样式顺序:link、visited、hover、active

    1.介绍 a:link - 正常,未访问过的链接 a:visited - 用户已访问过的链接 a:hover - 当用户鼠标放在链接上时 a:active - 链接被点击的那一刻 当设置为若干链路状态 ...

  2. [css] 请写出:link、:visited、:hover、:active的执行顺序

    [css] 请写出:link.:visited.:hover.:active的执行顺序 :link未访问链接:visited已访问的链接:hover鼠标悬停:active鼠标按下顺带一提,可交互式的组 ...

  3. a链接的四种状态:link、visited、hover、active

    a链接的四种状态 伪类是CSS 用于向某些选择器添加特殊的效果. a标签中有四个:link.visited.hover.active (1)link-设置a对象在未被访问前的样式表属性. (2)vis ...

  4. HTML中a:link,a:visited,a:hover,a:active

    原文地址:http://www.cnblogs.com/yangfeng/archive/2009/07/25/1530962.html 1:解释 link:连接平常的状态 visited:连接被访问 ...

  5. CSS中a标签样式原则 a:link a:visited a:hover a:active执行顺序

    CSS为一些特殊效果准备了特定的工具,我们称之为"伪类".其中有几项是我们经常用到的,下面我们就详细介绍一下经常用于定义链接样式的四个伪类,它们分别是: 代码如下: :link : ...

  6. a:link,a:visited,a:hover,a:active 分别是什么意思?

    link:链接平常的状态 active:链接被按下的时候 visited:链接被访问过之后 hover:鼠标放到链接上的时候 具体一点就是: :hover版本:CSS1/CSS2 兼容性:IE4+ N ...

  7. a:link a:visited a:hover a:active四种伪类选择器的区别

    a:link选择网页中所有没有被visited的a标签,就是没有鼠标悬停hover或者点击click(a链接没有被访问时的样式) a:visited选择网页中所有已经被click的a链接,用来告诉用户 ...

  8. CSS visited,hover,active , focus这四个区别

    CSS伪类用于向某些选择器添加特殊的效果,在样式表中,各样式排列的顺序很有讲究. :link 与 :visited 在样式文件中的顺序可以随便放置. :focus,: hover,:active这几个 ...

  9. css种:link和:visited失效问题

    1.首先是确定伪类链接的顺序没有错误:正确顺序为a:link>a:visited>a:hover>a:active: 2.a:visited因为安全问题和网页缓存的问题,导致网页载入 ...

最新文章

  1. vue-threeJS数据驱动的三维图形可视化
  2. Oracle的PL/SQL编程前奏之基础技能实战一(匿名子程序)
  3. 方法的重写-覆盖父类方法,重写子类方法实现
  4. c语言学生成绩删除功能,c语言学生成绩管理系统程序设计,有添加,查找,删除,输出,修改,排序等功能!!!...
  5. 英雄会被表彰,这些技术与代码也将被历史铭记
  6. mysql 日志_MySQL日志系统
  7. AVR Studio 5 使用初体验及完整版下载地址
  8. bfv同态加密_五分钟了解同态加密及三种常见方案
  9. 达奇机器人怎么看电量_圣诞怎么过?看看电影吃点儿特别的
  10. C#等同于正则表达式的写法
  11. 20200604每日一句
  12. eclipse必备的15的个快捷键
  13. [PyG] 1.如何使用GCN完成一个最基本的训练过程(含GCN实现)
  14. 奋斗与首付,谁更能承载生命之重?
  15. 唤醒计算机教案,智慧课堂教学软件常态化丨镇江中山路实验小学用 智慧“唤醒”课堂...
  16. python 3.7安装festtext、提示要更新_现代开发者必备:5个更流畅、更受欢迎的Python web框架...
  17. js中数组的高逼格操作(filter、sort、map、reduce)
  18. 如何使用Arduino Uno开发板制作超声波测距仪
  19. FFA interface
  20. gmoj 6860. 【2020.11.14提高组模拟】鬼渊传说

热门文章

  1. android 关机消息广播,Android开机、关机播音监听
  2. RANSAC如何动态更新最大迭代次数
  3. 成功解决TPOT下载read time out的问题
  4. windows找不到文件gpedit.msc怎么办?
  5. 2022年Java秋招面试必看的 | Linux 面试题
  6. 【STM32F407开发板用户手册】第7章 STM32F407下载和调试方法(IAR8)
  7. 奇偶校验(附代码实现)
  8. Excel 2010 里怎么不显示空单元格中的数字0
  9. scada java_SCADA开源项目lite版本
  10. 编译:一个 C 程序的艺术之旅