小编The*_*ney的帖子

Vue JS:如何在路由器链接中设置活动 <a> 标签的样式?

我正在尝试编辑我的路由器链接,以便当链接处于活动状态时文本的颜色以及背景会发生变化。

在课程中.router-link-exact-active,我已经设置了它,以便背景从某些默认值正确更改,但文本颜色始终保持不变?

事实上,改变链接文本颜色(包括非活动的默认蓝色)的唯一方法是设置标签本身的样式。

我的链接代码如下:

<router-link :to="{path: '/Homer'}" exact tag="li"><a>Homer</a></router-link>
Run Code Online (Sandbox Code Playgroud)

标签的 CSS(在链接激活之前设置颜色 - 它是标准颜色):

a {
  color:royalblue;
  text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)

router-exact-link-active 的 CSS 是:

.router-link-exact-active {
  background: yellow;
  border-radius: 5px;
  color: red;
  font-variant: italic;
}
Run Code Online (Sandbox Code Playgroud)

因此,li 的背景颜色(当然,因为 router-link 设置为 li 标记)正确更改,但文本颜色无论如何仍然保持蓝色。

文本的颜色(和其他设置样式)不应该层叠吗父 li 分配的活动类向下级联到标签(无论路由器链接处于活动状态还是不活动状态) - 例如本教程中的 https: //youtu.be/yn0_6T4HwHs?t=266?

如果不是,我如何在文本处于活动状态时设置文本样式 - 我猜我会将某种活动类附加到 - 不是 a:active 的类,因为一旦鼠标处于活动状态,文本就不是“活动”的点击它后 - 但我似乎找不到正确的方法来做到这一点?

抱歉,如果这是一个非常基本的问题,但我四处寻找答案但找不到。

非常感谢。

css vue.js vue-router

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

css ×1

vue-router ×1

vue.js ×1