新闻中心
如何用css:target制作单页导航高亮
使用 :target 可实现纯 CSS 单页导航高亮,通过 URL 片段激活目标元素样式。1. 导航链接指向带 ID 的内容区;2. 利用 section:target 高亮当前内容;3. 因 CSS 无法反向选中导航,需调整结构,如将 .n*-link 置于目标区域内;4. 通过 .n*-link:target 或 div:target .n*-link 规则高亮对应导航项。适合静态页面,依赖合理 HTML 结构。

使用 :target 实现单页导航高亮,是一种纯 CSS 的方法,适合简单的页面锚点跳转场景。当 URL 中的片段标识符(即 # 后面的部分)指向页面中的某个元素时,该元素就成为“目标元素”,可以通过 :target 选择器为其添加样式,比如高亮对应的导航项。
1. 基本结构:HTML 锚点与目标元素
确保每个导航链接指向页面中的一个唯一 ID,这些元素就是可能被激活的目标。
<n*> <a href="#home">首页</a> <a href="#about">关于</a> <a href="#contact">联系</a> </n*> <p><section id="home"><h2>首页内容</h2></section> <section id="about"><h2>关于内容</h2></section> <section id="contact"><h2>联系内容</h2></section></p>
2. 使用 :target 高亮目标区域
你可以为当前显示的内容区域添加背景或边框,表示它是当前选中项。
section:target {
background-color: #f0f8ff;
border-left: 4px solid #007acc;
padding: 20px;
}
3. 实现导航项高亮
由于 CSS 无法反向选择父级或兄弟之前的元素(除非结构允许),你需要调整 HTML 结构来让导航项能响应目标状态。一种常见方式是把导航和内容放在一起,利用相邻或兄弟选择器。
示例:将导航放在对应内容内部,并默认隐藏,仅在目标激活时显示高亮状态。
更实用的方式是结合伪类与结构设计:
/* 默认样式 */
n* a {
color: #333;
text-decoration: none;
}
<p>/<em> 当点击 #about,且有一个 a[href="#about"] 存在时,怎么高亮它? </em>/
/<em> 我们可以反过来:通过目标元素影响其“关联”的导航 —— 但需借助额外结构 </em>/</p>如果结构不能改变,:target 无法直接选中导航链接。这时可以采用以下技巧:
UXbot
AI产品设计工具
185
查看详情
4. 替代方案:用 label 模拟导航(进阶技巧)
使用隐藏 radio 或 checkbox + label 配合 :target 复杂但可控。不过对于简单需求,推荐 J*aScript 辅助,或者接受只能高亮内容区的事实。
若坚持纯 CSS 且想高亮菜单文字,可考虑如下结构:
<div id="home"> <a href="#home" class="n*-link">首页</a> <section>这里是首页内容...</section> </div> <p><div id="about"> <a href="#about" class="n*-link">关于</a> <section>关于内容...</section> </div></p>
.n*-link {
display: block;
margin: 10px;
color: #000;
text-de
coration: none;
}
<p>/<em> 当前目标页的链接高亮 </em>/
.n*-link:target,
div:target .n*-link {
color: red;
font-weight: bold;
}</p>这样,当用户点击导航进入某区块时,该区块成为目标,其内部的 .n*-link 就会被高亮。
基本上就这些。虽然 :target 功能有限,但在轻量级项目中足够实用,尤其适合无 JS 的静态页面。关键是合理安排 HTML 结构,让 CSS 能够“触及”到需要高亮的元素。
以上就是如何用css:target制作单页导航高亮的详细内容,更多请关注其它相关文章!
# target
# javascript
# java
# html
# js
# css
# 网站如何优化运营策略
# 海淀除味推广招聘网站
# 晋城市网站推广
# 长清网站建设知识
# 洛阳台州网站建设
# 做优化的网站设计师好吗
# 汉南网站建设开发
# 毕节网站排名优化
# 苏州网站建设哪家快
# 沧州行业网站建设
# 但在
# 放在
# 是一种
# 就会
# 两种类型
# 进阶
# 中不
# 如何用
# 首页
# 选择器
# red
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
J*aScript实现单选按钮与关联输入框的联动禁用教程
C#如何安全地从用户上传的XML文件中读取数据? 验证与清理策略
冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法
抖音怎么赚钱_抖音创作者变现方法与途径指南
Kafka Streams中基于消息头条件过滤消息的实现指南
sublime如何优雅地处理行尾空格_sublime自动清理多余空白字符配置
Lar*el如何正确地在控制器和模型之间分配逻辑_Lar*el代码职责分离与架构建议
163邮箱网页版入口导航平台 163邮箱网页版登录入口官网导航
优化Django表单:提交验证失败后保留用户输入
CSS响应式网页如何实现主次模块比例自适应_flex-grow与flex-shrink调整
初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解
一加手机拍照效果不好怎么办 一加哈苏影像调校与专业模式使用教程【高手篇】
绝地鸭卫平a核爆刀流玩法攻略
J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南
J*aScript DOM操作:高效清空列表元素的策略与实践
“音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!
苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】
Surface怎么安装系统 微软Surface Pro U盘重装win11教程
如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构
Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】
QQ邮箱官方网站登录入口_QQ邮箱网页版在线使用
AI泡沫首次被“刺破”:GPU十年都无法存活!
Go语言HTML解析:利用Goquery精准获取指定元素内容
“在文档元素之后找到了标记”是什么错误? 检查并修复XML中多个根元素的3个方法
如何将一个大型PHP应用拆分为多个Composer包_微服务与模块化架构的Composer实践
漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道
Composer如何解决json扩展缺失的错误
中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】
zookeeper 都有哪些功能?
Lar*el用户头像管理:实现图片缩放、存储与旧文件安全删除的最佳实践
电脑屏幕颜色不舒服怎么办_Windows夜间模式与色彩校准教程【护眼技巧】
漫蛙2网页版漫画入口 漫蛙漫画在线官方登录
抖音创作助手登录入口_抖音创作辅助工具官网直达
CSS自定义字体样式被系统字体替换怎么办_font-face方式指定font-display控制渲染策略
在J*a中如何使用Exception包装底层异常_异常包装与信息传递方法说明
12306选座如何查看座位示意图_12306座位示意图解读与使用
如何在J*a中使用Locale处理多语言环境
c++中的std::launder有什么实际用途_c++对象生命周期与指针优化
飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】
腾讯QQ邮箱官方网站_QQ邮箱网页版在线登录
优化Log4j2控制台输出性能:解决异步日志瓶颈
windows10怎么查看硬盘序列号_windows10硬盘id查询命令
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
Excel文件在线转换快速入口 Excel在线格式转换网站
C++ typeid如何获取类型信息_C++ RTTI运行时类型识别用法
我的世界mc.js免费游戏直接能玩 我的世界mc.js小游戏免费秒玩入口
菜鸟取件码是什么怎么查 最全查询渠道汇总
在Socket.IO连接中实现Access Token自动更新与动态重连
C++20的source_location是什么_C++在编译期获取源码位置信息用于日志和断言
windows10怎么查看本机ip_windows10命令提示符ipconfig使用


2025-10-05
浏览次数:次
返回列表
coration: none;
}
<p>/<em> 当前目标页的链接高亮 </em>/
.n*-link:target,
div:target .n*-link {
color: red;
font-weight: bold;
}</p>