超链接a标签中的伪类区别及用法

2024-08-30 08:18

本文主要是介绍超链接a标签中的伪类区别及用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先 “超链接” 就是我们 html 中的 a 标签,这个应该大家都没问题。

  1. 再接着,"伪类":什么是伪类?
  2. css 对于伪类的解释是用于向某些选择器添加特殊的效果。
  3. 简单点说,就是你没定义这个类,但它确实作为一个类来使用。
  4. 再简单点就是你可以利用伪类为我们的元素添加各种不同的效果。
  5. 比如:
  6. a:hover { }
  7. 这段代码就是给 a 这个标签选择器添加了一个效果,这个效果在鼠标悬停于 a 标签上方时被触发。
  8. 并且,伪类还有权重(特殊性),《css权威指南》中指出,其特殊性为:0,0,1,0
  9. 也就是说伪类的权重和class的权重是一样的。这一点一定要注意,这一点一定要注意 一定要注意;敲黑板划重点!
  10. 再回到问题,css1 在给 a 定义伪类的时候,一共有四个伪类,分别是:link,visited,hover,active。并且这四个伪类一直延续到现在
  11. 其各自代表不同的意思:
  12. a:link 表示未被访问的链接 (在页面上写了,还没有访问过)
  13. a:visited 表示已经被访问过后的链接 (访问过了,注:判断是否访问过,是以浏览器的浏览记录为依据)
  14. a:hover 表示鼠标指针位于其上的链接
  15. a:active 表示活动链接 (当鼠标点下时的链接)
  16. 用中文表达就是:你在页面上写了一个链接,你打开这个页面的时候,这个链接处于 link 状态
  17. 当你要去点击它的时候,首先会把鼠标移到连接上去,这时候是 hover 状态
  18. 当你把鼠标点下去,还没抬起来的那一瞬间是 active 状态
  19. 完事之后就是 visited 状态了
  20. 看到这大家应该就要明白题中的 L,V,H,A 四个字母分别代表的就是 a 标签的四个伪类了。
  21. 考题第二点:顺序?
  22. a 标签的四个伪类书写顺序很重要么?当然重要!!!
  23. CSS设计指南》说到四个伪类的书写顺序一定要正确,否则浏览器可能不会显示预期的结果。
  24. 首先来看前面两个伪类:link visited 分别代表未访问的链接和已经访问的链接,那么一个链接不可能同时存在这两个状态,所以实际上这两个伪类的顺序是可以随意一点的
  25. 再来看 visited hover
  26. 假设 hover 写在 visited 的前面 并且这个链接已经被访问过了
  27. a:visiteda:hover 这两个选择器在权重上是一样的。那么根据 css 规则,权重一样的两个选择器选中同一个元素的时候,后者覆盖前者,所以 visited 一定要在前面。那么以此类推,link hover 之间的顺序也就毋庸置疑了
  28. 再来看 hover active
  29. 试想当我们要点击一个元素的时候,是不是一定会移动到这个元素身上?
  30. 也就是说想要触发 active 必定会触发 hover 伪类,还是权重一样,后者覆盖前者
  31. 那么四个元素的顺序就出来了 前面 link visited 后面 hover active
  32. 假设 hover 写在 visited 的前面 并且这个链接已经被访问过了,那么这时候鼠标移动到 a 标签身上,触发 hover,其颜色变成粉色(假设)。但是不要忘了,后面还有一个 visited 并且 a:visiteda:hover 这两个选择器在权重上是一样的。那么根据 css 规则,权重一样的两个选择器选中同一个元素的时候,书写在后面的选择器会覆盖前面的效果。所以这时候 hover 的样式会被 visited 覆盖。其导致的结果就是:当一个链接被访问过后,鼠标移动到这个链接身上将不会有任何的效果(表现为 hover 失效了)。那么以此类推,link hover 之间的顺序也就毋庸置疑了
  33. 再来看 hover active
  34. 试想当我们要点击一个元素的时候,是不是一定会移动到这个元素身上?也就是说必定会触发 hover 伪类
  35. 这时候如果 active 伪类写在 hover 伪类前面 在点击这个元素的时候,样式发生改变了,但是后面的 hover 权重和它一样高,又被覆盖了,所以这两个伪类之间的顺序也就很明显了 先写 hover 后写active
  36. 那么四个元素的顺序就出来了 前面 link visited 后面 hover active
  37. 最后再多嘴一句,既然 link visited 的顺序无所谓,那为什么一般都要把 link 放在前面呢?
  38. 一个链接,页面一上来其状态一定是未访问。从视觉顺序来排,link 在前面。)
  39. 教大家一个小技巧:Lv!(路易威登,一个世界知名奢侈品品牌,女孩对其防御力为负无穷大!俗称泡妞利器)
  40. lv! haha...(如果你送女朋友一个lv,那她一定开心得哈哈大笑)


这篇关于超链接a标签中的伪类区别及用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120278

相关文章

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No