【发布时间】:2014-03-09 13:38:39
【问题描述】:
我已经使用 HTML 很长时间了,从来没有真正需要做/尝试过这样的事情。我在段落标签中有一个锚标签,如下所示:
<p>Hello <a href="path/page.html">World</a></p>
我想知道如果a 已经被访问过,是否有办法改变p 元素的样式,只使用CSS。我知道 JavaScript 可以做到这一点,如果您愿意,请随时发布 Vanilla JS 答案以供参考,但我的问题实际上是关于如何使用CSS。
既然我预测有人会说 “父标签真的有必要吗?”,我知道 HTML5 和 CSS3 带来了全新的无需额外标签即可设置样式和操作内容的方法,但这不是问题的重点。关键是如果有人需要(在我的情况下,我确实需要),该怎么做。
【问题讨论】:
-
CSS 中没有
parent或has选择器,所以不,你不能那样做。 -
目前没有父选择器。但是值得注意的是,CSS4 working draft 提供了一种语法,用于通过使用
!感叹号来定义选择器的“主题”。正如!p > a:visited {...},但这还没有在任何网络浏览器中实现。 -
是的,我也是这么想的。如果有人仍然愿意发布 JavaScript 答案,请继续,最好不要使用 jQuery 或其他框架。
-
使用原生 JS 更新
标签: javascript html css inheritance styling