看起来在为“关于”、“常见问题”、“服务条款”等导航标签页(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 没有父选择器。我们需要按上述建议实现一个新组件,才能达到您想要的效果。
好的,谢谢 @awesomerobot!