The*_*ney 3 css vue.js vue-router
我正在尝试编辑我的路由器链接,以便当链接处于活动状态时文本的颜色以及背景会发生变化。
在课程中.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 的类,因为一旦鼠标处于活动状态,文本就不是“活动”的点击它后 - 但我似乎找不到正确的方法来做到这一点?
抱歉,如果这是一个非常基本的问题,但我四处寻找答案但找不到。
非常感谢。
它们确实级联,但您的标签有一个更具体的默认样式,因此您的li样式不适用\xe2\x80\x99t。
\n\n您需要设置一种比默认样式更具体的样式。
\n\n.router-link-exact-active a {} \nRun Code Online (Sandbox Code Playgroud)\n\n应该能解决问题
\n当您看到应用了意外的样式时,如果没有用户/作者样式,则可能的罪魁祸首是用户代理样式表。您可以在已检查元素的DevTools 计算样式窗格中确认这一点a。找到color属性(第一项),展开该项目以显示适用的样式,从最高优先级到最低优先级列出。最高优先级的样式是当前应用的样式。

如果您希望a元素从其父元素继承其颜色(.router-link-exact-active在本例中),请 apply inherit。
a {
color: inherit;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11680 次 |
| 最近记录: |