如何在CSS中使用:target实现锚点滚动效果_通过:target伪类实现目标高亮

  • 如何在CSS中使用:target实现锚点滚动效果_通过:target伪类实现目标高亮已关闭评论
  • A+
所属分类:教程文章
摘要

利用CSS的:target伪类和scroll-behavior可实现锚链接平滑滚动与目标高亮,无需JavaScript。首先设置html{scroll-behavior:smooth;}启用平滑滚动,再通过#section:target为匹配hash的元素添加背景色或边框以实现高亮,并结合transition使背景色渐变显示,提升视觉体验。该方法适用于文档章节、FAQ页面及单页导航,提供轻量高效的交互反馈。

如何在css中使用:target实现锚点滚动效果_通过:target伪类实现目标高亮

当用户点击页面中的锚链接时,浏览器会自动跳转到对应ID的元素位置。利用CSS的:target伪类,不仅可以实现平滑滚动定位,还能让目标元素短暂高亮,提升用户体验。这种方法无需JavaScript,简单高效。

启用平滑滚动行为

为了让页面滚动更自然,先在CSS中设置全局滚动行为为平滑:

html {
scroll-behavior: smooth;
}

这样所有锚点跳转都会以动画形式滚动到目标位置,而不是瞬间跳转。

使用:target高亮当前锚点元素

:target会在URL中的hash(如#section1)与某个元素ID匹配时生效。你可以用它来突出显示被点击的区域。

立即学习“前端免费学习笔记(深入)”;

例如,给目标元素添加背景色或边框:

如何在CSS中使用:target实现锚点滚动效果_通过:target伪类实现目标高亮

Alkaid.art

专门为Phtoshop打造的AIGC绘画插件

如何在CSS中使用:target实现锚点滚动效果_通过:target伪类实现目标高亮
153

查看详情
如何在CSS中使用:target实现锚点滚动效果_通过:target伪类实现目标高亮

#section1:target,
#section2:target,
#section3:target {
background-color: #ffeb3b;
padding: 20px;
border-left: 4px solid #f44336;
}

当用户点击指向这些ID的链接时,对应区块会自动滚动并高亮,几秒后随着hash变化或用户操作,样式也会自然消失。

增强可读性的过渡效果

为了让高亮更柔和,可以加上过渡动画:

.content-section {
transition: background-color 1s ease-out;
}

.content-section:target {
background-color: #ffeb3b;
}

这样背景色不会突兀出现,而是渐变显现,阅读体验更好。

实际应用场景建议

  • 文档页面中用于章节跳转时的视觉反馈
  • 帮助中心或FAQ页面,点击问题自动定位并高亮答案
  • 结合导航菜单,提升单页内容的可交互性

基本上就这些。通过:target配合简单的CSS样式,就能实现无需脚本的锚点高亮与流畅滚动,既轻量又实用。