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 选择所有已访问的链接。

⭐最后⭐

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

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

相关推荐
timeguys18 分钟前
【前端】[vue3] [uni-app]使用 vantUI 框架
前端·uni-app
岁岁岁平安27 分钟前
Vue3学习(组合式API——Watch侦听器、watchEffect()详解)
前端·javascript·vue.js·学习·watch侦听器·组合式api
uwvwko1 小时前
BUUCTF——web刷题第一页题解
android·前端·数据库·php·web·ctf
有事没事实验室1 小时前
CSS 浮动与定位以及定位中z-index的堆叠问题
前端·css·开源
2501_915373882 小时前
Vue路由深度解析:Vue Router与导航守卫
前端·javascript·vue.js
小妖6662 小时前
前端表格滑动滚动条太费事,做个浮动滑动插件
前端
读心悦2 小时前
5000 字总结CSS 中的过渡、动画和变换详解
前端·css·tensorflow
__BMGT()2 小时前
C++ QT 打开图片
前端·c++·qt
仍然探索未知中3 小时前
前端扫盲HTML
前端·html
Brilliant Nemo3 小时前
Vue2项目中使用videojs播放mp4视频
开发语言·前端·javascript