- A+

当用户点击页面中的锚链接时,浏览器会自动跳转到对应ID的元素位置。利用CSS的:target伪类,不仅可以实现平滑滚动定位,还能让目标元素短暂高亮,提升用户体验。这种方法无需JavaScript,简单高效。
启用平滑滚动行为
为了让页面滚动更自然,先在CSS中设置全局滚动行为为平滑:
html {
scroll-behavior: smooth;
}
这样所有锚点跳转都会以动画形式滚动到目标位置,而不是瞬间跳转。
使用:target高亮当前锚点元素
:target会在URL中的hash(如#section1)与某个元素ID匹配时生效。你可以用它来突出显示被点击的区域。
立即学习“前端免费学习笔记(深入)”;
例如,给目标元素添加背景色或边框:

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

153
查看详情

#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样式,就能实现无需脚本的锚点高亮与流畅滚动,既轻量又实用。




