为 nav-pills > li 设置 active 类以对应 about、faqs、tos

看起来在为“关于”、“常见问题”、“服务条款”等导航标签页(nav-pills)设置 active 类时存在一个小 bug。active 类已正确设置到子链接 <a /> 上,但该元素被重复添加了两次,而父元素 <li /> 上却缺失了该类。

<li> 添加第二个 active 类即可解决我主题中的样式问题。

我不确定我们是否曾为 nav-pills 上的 LI 元素支持过“active”类。我并不反对为主题添加此支持,因为这似乎很有用。不过,这需要重构大量代码。

@techAPJ 我认为你调整过这部分代码,这个“active”类是出于什么原因?在我看来这似乎是个错误?

至于基于路由为 LI 添加“active”类的更大讨论,我将留给 @eviltrout@awesomerobot。目前我们使用“link-to”,它仅能为 A 元素提供基于路由的类的自动支持。我们可能需要在该处引入一个新组件。

曾有一段时间,我们在所有 nav-pills 的部分 li 元素上设置了激活状态,而在其他一些地方,active 类则被加在了 a 元素上……

据我回忆,为了使情况更加一致,我将 active 类统一移到了所有的 a 元素上?将其放在 li 上完全没问题,但我认为 @sam 说得对,我之所以选择放在 a 上,是因为没有简单的方法能将其同时应用到所有的 li 元素上……

有没有一种方法可以用 CSS 选择 a 的父级 (li)?我没能找到基于子元素来设置父级样式的方法。

主题列表中的 li 被添加了 active 类,所以我推测这可能是用户导航中可能遗漏的意图。

不,CSS 没有父选择器。我们需要按上述建议实现一个新组件,才能达到您想要的效果。

好的,谢谢 @awesomerobot