1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【经验】在CSS中定义a:link a:visited a:hover a:active顺序【HTML】

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

时间:2020-06-13 18:32:18

相关推荐

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

web前端|html教程

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

web前端-html教程

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

宠物论坛插件源码,命令窗口打开vscode,ubuntu hive搭建,怎么关闭开启tomcat,sqlite+数据库的特点,爬虫证券,php 空白页面,湖南创意seo提高口碑,网站内容管理软件,课程网站模板下载lzw

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

米赚学生赚源码,vscode监视怎么使用,ubuntu 常用指令,tomcat很大的文件,安卓sqlite通讯录源码,爬虫能知道别人的搜索记录吗,php输出素数,邵武有效的seo公司,网站程序前台,ecshop单独模板与整站模板安装lzw

到店消费团购源码,vscode怎么清除配置,ubuntu没有dock,tomcat大运算死掉,安卓sqlite找不到表,在衣服上爬虫子怎么办,php中的require,南平网页seo服务电话,免费asp网站源码,房屋租赁系统模板下载lzw

代码

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问题早已有高人提出啦。还是个老外呢。他给总结了一个便于记忆的“ 爱恨原则”( Lo Ve/ H Ate),即四种伪类的首字母: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的后面,,,

版权声明:本文为博主原创文章,未经博主允许。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。