谈一谈a:link、a:visited、a:hover、a:active的正确使用顺序
今天学到一个有趣的新知识呢,迫不及待的想分享一下。自学前端的这条路上,还在基础部分打转,未来好难,走好现在脚下的每一步才是我现在最重要的。小小地感慨一下,下面进入正题吧。
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的正确使用顺序相关推荐
- 链接样式顺序:link、visited、hover、active
1.介绍 a:link - 正常,未访问过的链接 a:visited - 用户已访问过的链接 a:hover - 当用户鼠标放在链接上时 a:active - 链接被点击的那一刻 当设置为若干链路状态 ...
- [css] 请写出:link、:visited、:hover、:active的执行顺序
[css] 请写出:link.:visited.:hover.:active的执行顺序 :link未访问链接:visited已访问的链接:hover鼠标悬停:active鼠标按下顺带一提,可交互式的组 ...
- a链接的四种状态:link、visited、hover、active
a链接的四种状态 伪类是CSS 用于向某些选择器添加特殊的效果. a标签中有四个:link.visited.hover.active (1)link-设置a对象在未被访问前的样式表属性. (2)vis ...
- HTML中a:link,a:visited,a:hover,a:active
原文地址:http://www.cnblogs.com/yangfeng/archive/2009/07/25/1530962.html 1:解释 link:连接平常的状态 visited:连接被访问 ...
- CSS中a标签样式原则 a:link a:visited a:hover a:active执行顺序
CSS为一些特殊效果准备了特定的工具,我们称之为"伪类".其中有几项是我们经常用到的,下面我们就详细介绍一下经常用于定义链接样式的四个伪类,它们分别是: 代码如下: :link : ...
- a:link,a:visited,a:hover,a:active 分别是什么意思?
link:链接平常的状态 active:链接被按下的时候 visited:链接被访问过之后 hover:鼠标放到链接上的时候 具体一点就是: :hover版本:CSS1/CSS2 兼容性:IE4+ N ...
- a:link a:visited a:hover a:active四种伪类选择器的区别
a:link选择网页中所有没有被visited的a标签,就是没有鼠标悬停hover或者点击click(a链接没有被访问时的样式) a:visited选择网页中所有已经被click的a链接,用来告诉用户 ...
- CSS visited,hover,active , focus这四个区别
CSS伪类用于向某些选择器添加特殊的效果,在样式表中,各样式排列的顺序很有讲究. :link 与 :visited 在样式文件中的顺序可以随便放置. :focus,: hover,:active这几个 ...
- css种:link和:visited失效问题
1.首先是确定伪类链接的顺序没有错误:正确顺序为a:link>a:visited>a:hover>a:active: 2.a:visited因为安全问题和网页缓存的问题,导致网页载入 ...
最新文章
- vue-threeJS数据驱动的三维图形可视化
- Oracle的PL/SQL编程前奏之基础技能实战一(匿名子程序)
- 方法的重写-覆盖父类方法,重写子类方法实现
- c语言学生成绩删除功能,c语言学生成绩管理系统程序设计,有添加,查找,删除,输出,修改,排序等功能!!!...
- 英雄会被表彰,这些技术与代码也将被历史铭记
- mysql 日志_MySQL日志系统
- AVR Studio 5 使用初体验及完整版下载地址
- bfv同态加密_五分钟了解同态加密及三种常见方案
- 达奇机器人怎么看电量_圣诞怎么过?看看电影吃点儿特别的
- C#等同于正则表达式的写法
- 20200604每日一句
- eclipse必备的15的个快捷键
- [PyG] 1.如何使用GCN完成一个最基本的训练过程(含GCN实现)
- 奋斗与首付,谁更能承载生命之重?
- 唤醒计算机教案,智慧课堂教学软件常态化丨镇江中山路实验小学用 智慧“唤醒”课堂...
- python 3.7安装festtext、提示要更新_现代开发者必备:5个更流畅、更受欢迎的Python web框架...
- js中数组的高逼格操作(filter、sort、map、reduce)
- 如何使用Arduino Uno开发板制作超声波测距仪
- FFA interface
- gmoj 6860. 【2020.11.14提高组模拟】鬼渊传说