【CSS】动态伪类

本文详细解读了HTML中的动态伪类link、visited、hover、focus和active,展示了它们在不同元素和状态下的应用,并强调了PC端与移动端的区别。重点介绍了a标签和各种元素的焦点状态实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态伪类

定义在连接上面的伪类

  • link:用来定义连接未被访问的样式
  • visited:用来定义连接已经被访问过的样式(默认状态下是跟踪了用户的行为)

定义用户行为的伪类(显示顺序hover-focus-active)

  • hover:用来定义用户用鼠标划过对应的元素,可是未激活显示的样式

  • focus:用来定义一个元素自己具有焦点(接受键盘、鼠标、form的输入等)以后,显示的样式

  • active:用来定义用户按下鼠标后,可是并未离开时候的样式,一般是左侧的鼠标

  • :link

        <style>
            a:link{background-color: red}
            div:link{background-color: green}
            </style>
            <body>
                <p><a>无href</a></p>
                <p><a href="">a href</a></p>
                <p><div href="">div href</div></p>
            </body>

:link 只能用于 a 标签,并且标签带有 href 属性时,才会匹配到。
在这里插入图片描述

  • :visited
<style>
a:link{background-color: red}
a:visited{background-color: green}
</style>
<body>
    <a href="#1">1-1</a>
    <a href="#2">1-2</a>
    <a href="#2">1-3</a>
</body>

当点击 1-2 中的链接后,1-2会应用到 :visited 状态。同时由于 1-3 与 1-2 访问的链接一样,1-3 也会变成绿色。
在这里插入图片描述

  • :active
<style>
a:link{background-color: red}
a:active{background-color: green}
button:active{background-color: yellow}
</style>
<body>
    <a href="#1">1-1</a>
    <button>按钮1</button>
</body>

表示元素被鼠标按下,但未松开前的状态。适用于所有元素,该状态在移动端浏览器下无效。
在这里插入图片描述

  • :hover
<style>
a:hover{background-color: yellow}
button:hover{background-color: yellow}
span:hover{background-color: yellow}
div:hover{background-color: yellow}
</style>
<body>
    <a href="#1">1-1</a>
    <button>按钮1</button>
    <span>1-3</span>
    <div>1-4</div>
</body>

表示元素在鼠标进入时匹配该样式,移出元素后会被取消。适用于所有元素,该状态在移动端浏览器下无效。
在这里插入图片描述

  • :focus
<style>
a:focus{background-color: yellow}
button:focus{background-color: yellow}
span:focus{background-color: yellow}
div:focus{background-color: yellow}
input:focus{background-color: yellow}
</style>
<body>
    <a href="#1">1-1</a>
    <button>按钮1</button>
    <span>1-3</span>
    <div>1-4</div>
    <input value="1-5">
</body>

在这里插入图片描述

a、 button 标签在 PC 端被点击后可以应用到 focus 状态,在移动端则不能。div、span 则无论如何都无法应用到 focus 状态。表单元素在两个端都能正常应用到 focus 状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厦门德仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值