vue3 RouterLink链接颜色修改的方法

方案 1:正确穿透写法(最简推荐)

:deep() 里面直接写子元素,外层 .nav 自带 scoped 标识,不用放进 deep 里

css 复制代码
/* 正确:外层.nav自带data-v,deep只写内部a */
.nav :deep(a) {
  color: #333;
  text-decoration: none;
}
.nav :deep(a:hover) {
  color: #6381a0;
}
.nav :deep(a.router-link-active) {
  color: #2baa95;
  font-weight: bold;
}
.nav :deep(a.router-link-exact-active) {
  color: #3fa531;
}
html 复制代码
<RouterLink to="/" class="nav-link">
  <div class="item">xxx</div>
</RouterLink>
css 复制代码
.nav :deep(.nav-link) {
  color: #333;
  text-decoration: none;
}
.nav :deep(.nav-link:hover) {
  color: #6381a0;
}
.nav :deep(.nav-link.router-link-active) {
  color: #2baa95;
}

方案 3:使用插槽完全脱离 a 标签控制(无穿透烦恼)

hmtl 复制代码
<RouterLink to="/" v-slot="{ navigate, isActive }">
  <div class="item" :class="{ active: isActive }" @click="navigate">
    <img src="@/assets/images/home.png"/>
    <span>首页</span>
  </div>
</RouterLink>

样式直接写,不需要 :deep

css 复制代码
.item {
  display: flex;
  align-items: center;
  color: #333;
  cursor: pointer;
  text-decoration: none;
}
.item:hover {
  color: #6381a0;
}
.item.active {
  color: #3fa531;
  font-weight: bold;
}
相关推荐
Moment2 分钟前
为什么越来越多开发者开始用 PostgreSQL?
前端·后端·面试
mmsx2 分钟前
MapLibre 实战 13|让比例尺显示 100m 而不是 347.2m:屏幕距离换算与两个易错点
android·前端·app
YHL3 分钟前
🚀 从 SPA 到 Next.js 全栈:一个大前端的 SEO 突围笔记
前端·后端
颜进强5 分钟前
从零跑通一套 WorkBuddy Skill 骨架:【能跑通+代码】生成HTML报告实战
前端·后端·ai编程
data analyse 4565 分钟前
能同时统计网站App小程序的分析平台怎么选?
前端·数据分析
Bmob后端云11 分钟前
Bmob后端云备忘录项目迭代:实现笔记置顶,解决笔记列表信息杂乱问题
前端·github
涛涛ing18 分钟前
2026年,前端框架开始为 AI 而生了
前端
2603_9658966222 分钟前
DOM文档对象模型|JS操作页面交互核心API
前端·javascript
骇客野人32 分钟前
Java 前后端可部署落地架构方案
服务器·前端·微服务
OpenTiny社区38 分钟前
从开发到运行:OpenTiny NEXT 如何构建 Agent 时代的 Web 应用
前端·开源·ai编程·opentiny