CSS:target实现页面跳转高亮效果
时间:2025-10-20 09:15:30 240浏览 收藏
利用CSS `:target` 伪类结合动画,无需JavaScript即可实现页面跳转后的高亮效果,显著提升用户体验。本文深入解析 `:target` 的工作原理,即当URL中的片段标识符与页面元素的ID匹配时,该元素便被选中并触发预设的CSS动画。通过示例代码,展示如何使用 `@keyframes` 定义背景色渐变等动画效果,实现目标元素短暂高亮,引导用户快速定位。此外,还提供了一系列优化建议,包括设置 `scroll-margin-top` 避免遮挡、控制动画时长与颜色强度,以及运用 `transform` 增强视觉提示。该技术尤其适用于文档、FAQ等场景,为网站导航带来更友好的互动体验。
:target 伪类可在用户点击锚点链接时高亮目标元素,通过 CSS 动画实现无 JavaScript 的视觉反馈。当 URL 的片段标识符指向某 id,该元素即被 :target 选中并触发动画,如背景色由黄渐变为白,持续约1秒,提示用户当前定位位置。示例中 .highlight 元素结合 @keyframes 定义闪烁效果,优化建议包括设置 scroll-margin-top 防遮挡、控制动画时长与颜色强度,并可添加轻微 transform 增强提示。此技术适用于文档、FAQ 等场景,提升导航体验。

当用户点击链接跳转到页面某个锚点时,可以通过 :target 伪类配合 CSS 动画,让目标元素短暂高亮显示,提升用户体验。这种方法无需 JavaScript,纯 CSS 即可实现。
:target 是什么?
当 URL 的片段标识符(即 # 后面的部分)指向页面中的某个元素的 id 时,该元素就处于“目标状态”,:target 选择器就会匹配这个元素。
例如,访问 page.html#section1,那么 #section1 元素就会被 :target 选中,可以对其设置特殊样式。
实现跳转后高亮动画
利用 :target 和 @keyframes,可以让目标元素在页面跳转后短暂改变背景色或添加边框,吸引用户注意。
示例代码:
<style>
.highlight {
transition: background-color 0.3s;
}
<p>.highlight:target {
animation: highlight-animation 1s ease-out;
}</p><p>@keyframes highlight-animation {
0% {
background-color: yellow;
padding: 10px;
}
100% {
background-color: white;
padding: 0;
}
}
</style></p><p><h2 id="section1" class="highlight">章节一</h2>
<p>这里是章节一的内容...</p></p><p><a href="#section1">跳转到章节一并高亮</a></p>说明:
- 元素添加了类名
highlight,用于绑定动画样式。 - 当该元素成为目标(URL 中有 #section1),
:target触发动画。 - 动画从亮黄色背景开始,逐渐恢复为无背景,模拟“闪烁高亮”效果。
优化建议与注意事项
为了更好的视觉效果和兼容性,可以考虑以下几点:
- 使用
scroll-margin-top避免锚点被固定头部遮挡。 - 动画时间不宜过长,0.5s 到 1s 之间较合适。
- 避免使用过于强烈的颜色干扰阅读。
- 可结合
transform做轻微放大或抖动增强提示感。
基本上就这些。用 :target 实现跳转高亮简单有效,适合文档、帮助页面或 FAQ 场景,让用户清楚知道跳转到了哪里。不复杂但容易忽略的小技巧。
好了,本文到此结束,带大家了解了《CSS:target实现页面跳转高亮效果》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
132 收藏
-
281 收藏
-
135 收藏
-
275 收藏
-
400 收藏
-
148 收藏
-
340 收藏
-
353 收藏
-
468 收藏
-
437 收藏
-
116 收藏
-
170 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习