如何在CSS中使用:target选择器_锚点跳转后高亮目标元素

:target 选择器可高亮锚点跳转的元素,提升用户体验。它匹配 URL 片段标识符指向的元素,如 #section1 会选中 id="section1" 的元素。通过 CSS 设置 background-color、border 等样式可使目标区域更醒目,示例中 section:target 添加黄色背景和橙色边框。进阶用法包括 transition 实现背景色渐变,或 @keyframes 创建闪烁动画。实用建议有:确保 id 唯一,避免作用于 body,结合 scroll-margin-top 解决固定头部遮挡,测试移动端显示效果。合理使用 :target 能增强导航友好性,让用户明确当前定位。

当页面通过锚点跳转到特定元素时,可以用 :target 选择器让目标元素高亮显示,提升用户体验。这个方法不需要 JavaScript,纯 CSS 即可实现。

什么是 :target 选择器?

:target 是一个 CSS 伪类,它匹配当前 URL 中片段标识符(即 # 后面的部分)指向的元素。例如,URL 为 example.html#section1 时,:target 就会选中 id="section1" 的元素。

基本用法:高亮目标区域

你可以为被锚点定位到的元素设置背景色、边框或阴影,使其更醒目。

示例代码:


跳转到介绍 跳转到配置

介绍

这是介绍内容...

配置

这是配置内容...

点击链接后,对应 section 会获得黄色背景和橙色边框,视觉上明显突出。

进阶技巧:平滑高亮与动画效果

为了让高亮更自然,可以添加过渡或短暂动画。

例如,让背景色淡入淡出:

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

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

或者使用 @keyframes 实现闪烁提示:

section:target {
  animation: highlight 1.5s ease;
}

@keyframes highlight { 0% { background-color: #ffeb3b; } 100% { background-color: transparent; } }

实用建议

使用 :target 时注意以下几点:

  • 确保每个目标元素都有唯一 id,否则无法正确匹配
  • 避免对整个页面 body 使用 :target,可能影响布局
  • 结合 scroll-margin-top 处理固定头部遮挡问题
  • 在移动端测试表现,确保高亮清晰可见

基本上就这些。合理使用 :target 能让页面导航更友好,用户一眼就知道跳转到了哪里。不复杂但容易忽略的小技巧。