CSS超链接伪类

CSS超链接伪类

🩹一、什么是伪类

伪类:同一个标签,根据其不同的种状态,有不同的样式。这就叫做"伪类"。伪类用冒号来表示。

比如div是属于box类,这一点很明确,就是属于box类。但是a属于什么类?不明确。因为需要看用户点击前是什么状态,点击后是什么状态。所以,就叫做"伪类"。

🫧静态伪类和动态伪类

静态伪类:只能用于超链接的样式。如下:

选择器 说明
:link 超链接点击之前
:visited 链接被访问过之后

PS:以上两种样式,只能用于超链接。

动态伪类:针对所有标签都适用的样式。如下:

选择器 说明
:hover "悬停":鼠标放到标签上的时候
:active "激活": 鼠标点击标签,但是不松手时。
:focus 是某个标签获得焦点时的样式(比如某个输入框获得焦点)

PS:以上三种样式,只能用于超链接。

💊二、常用超链接伪类

a标签有4种伪类(即对应四种状态)如下:

伪类名称 含义 示例
:link "链接":超链接点击之前 a:link{color:#9ef5f9;}
:visited "访问过的":链接被访问过之后 a:visited {color:#333;}
:hover "悬停":鼠标放到标签上的时候 a:hover{color:#ff7300;}
:active "激活": 鼠标点击标签,但是不松手时。 a:active {color:#999;}

设置伪类的顺序:a:link->a:visited->a:hover->a:active

语法:

html 复制代码
标签名:伪类名{声明;}

代码演示:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    .a1:link{
        background-color: pink;
    }
    .a2:visited{
        background-color: #a4ff46;
    }
    .a3:hover{
        background-color: orange;
    }
    .a4:active{
        background-color: fuchsia;
    }
    </style>
</head>
<body>
<a class="a1" href="#">未单击访问时超链接样式效果</a>
<br>
<a href="../ch02/homework.html" class="a2" target="_blank">单击访问后超链接样式效果</a>
<br>
<a class="a3" href="#">鼠标悬浮其上的超链接样式效果</a>
<br>
<a class="a4" href="#">鼠标单击未释放的超链接样式效果</a>
</body>
</html>

效果图:

拓展:

所有 CSS 伪类

选择器 例子 例子描述
:active a:active 选择活动的链接。
:checked input:checked 选择每个被选中的 < input> 元素。
:disabled input:disabled 选择每个被禁用的 < input> 元素。
:empty p:empty 选择没有子元素的每个 < p> 元素。
:enabled input:enabled 选择每个已启用的 < input> 元素。
:first-child p:first-child 选择作为其父的首个子元素的每个 < p> 元素。
:first-of-type p:first-of-type 选择作为其父的首个 < p> 元素的每个 < p> 元素。
:focus input:focus 选择获得焦点的 < input> 元素。
:hover a:hover 选择鼠标悬停其上的链接。
:in-range input:in-range 选择具有指定范围内的值的 < input> 元素。
:invalid input:invalid 选择所有具有无效值的 < input> 元素。
:lang(language) p:lang(it) 选择每个 lang 属性值以 "it" 开头的 < p> 元素。
:last-child p:last-child 选择作为其父的最后一个子元素的每个 < p> 元素。
:last-of-type p:last-of-type 选择作为其父的最后一个 < p> 元素的每个 < p> 元素。
:link a:link 选择所有未被访问的链接。
:not(selector) :not§ 选择每个非 < p> 元素的元素。
:nth-child(n) p:nth-child(2) 选择作为其父的第二个子元素的每个 < p> 元素。
:nth-last-child(n) p:nth-last-child(2) 选择作为父的第二个子元素的每个< p>元素,从最后一个子元素计数。
:nth-last-of-type(n) p:nth-last-of-type(2) 选择作为父的第二个< p>元素的每个< p>元素,从最后一个子元素计数
:nth-of-type(n) p:nth-of-type(2) 选择作为其父的第二个 < p> 元素的每个 < p> 元素。
:only-of-type p:only-of-type 选择作为其父的唯一 < p> 元素的每个 < p> 元素。
:only-child p:only-child 选择作为其父的唯一子元素的 < p> 元素。
:optional input:optional 选择不带 "required" 属性的 < input> 元素。
:out-of-range input:out-of-range 选择值在指定范围之外的 < input> 元素。
:read-only input:read-only 选择指定了 "readonly" 属性的 < input> 元素。
:read-write input:read-write 选择不带 "readonly" 属性的 < input> 元素。
:required input:required 选择指定了 "required" 属性的 < input> 元素。
:root root 选择元素的根元素。
:target #news:target 选择当前活动的 #news 元素(单击包含该锚名称的 URL)。
:valid input:valid 选择所有具有有效值的 < input> 元素。
:visited a:visited 选择所有已访问的链接。

⭐最后⭐

🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁

🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言

相关推荐
审小匠OpenCPAi16 分钟前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
Revolution6120 分钟前
一个公共表格组件,是怎么一步步失控的
前端·前端工程化
腻害兔36 分钟前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
whyfail43 分钟前
前端学 Spring Boot(2):一次点击,如何穿过整个后端?
前端·spring boot·后端
AI多Agent协作实战派1 小时前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app
2601_955760072 小时前
如何用 Claude Opus 5 API 批量扩展长尾关键词和文章选题
前端·python·搜索引擎
KaMeidebaby2 小时前
卡梅德生物技术快报|bli亲和力检测gst:告别批量跑胶:BLI实时酶切监测技术加速GST融合蛋白下游流程优化
前端·网络·数据库·人工智能·算法
触底反弹3 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js
耳东小鹿4 小时前
对象常用方法
前端
程序员海军4 小时前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员