You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅用CSS实现锚点标签点击后保持变色效果

CSS-only 实现导航链接持久高亮

你遇到的问题是 a:active 仅作用于链接被点击的瞬间,无法在页面跳转后保持高亮状态。要实现点击后持久保持样式的效果,我们可以利用页面专属的body类来匹配对应导航链接,这是纯CSS方案里最可靠的方式。

步骤1:为每个页面的body添加专属类

修改两个页面的<body>标签,分别添加唯一类名:

  • home.html的body:
<body class="page-home">
  • books.html的body:
<body class="page-books">

步骤2:编写CSS样式

在styles.css中,根据body的类名定位当前页面对应的导航链接,设置高亮样式:

/* 默认导航链接样式 */
ul li a {
  color: #333; /* 正常状态颜色,可自定义 */
  text-decoration: none;
}

/* 当前页面的导航链接高亮 */
.page-home ul li a[href="home.html"],
.page-books ul li a[href="books.html"] {
  color: #ff4500; /* 高亮颜色,可自定义 */
  font-weight: bold;
}

原理说明

当用户访问home.html时,页面的body带有page-home类,CSS会自动选中href="home.html"的链接并应用高亮样式;切换到books.html时,body的类变为page-books,对应的Books链接会高亮,Home链接恢复默认样式,全程无需JavaScript介入。

内容的提问来源于stack exchange,提问作者Jit Banerjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:50:24