如果有超链接,如何在不使用JavaScript/jQuery的情况下更改列表项的样式类型?

5
可能有重复:
活动子元素的父级的复杂CSS选择器 我有以下代码:
<li>
  <a href="jsfiddle.net">Text</a>
</li>
<li>
  only text
</li>​

我已经将CSS应用到了li元素上:

li {list-style-type: circle;}

我希望 li 元素在悬浮时应该具有 list-style-type:disc,但是只有当它内部包含锚元素时才具备该属性。我知道使用 JavaScript 很容易实现,但是否可能在没有 JavaScript 的情况下实现呢?
我尝试过类似这样的方法,但是无法实现:http://jsfiddle.net/k5SQe/
2个回答

3

CSS中没有“父”选择器。根据给定的要求,你不能将圆圈样式添加到<li>元素。

但是,可以将项目符号添加到锚点中:http://jsfiddle.net/k5SQe/31/

li:hover a {
    display: list-item;
    list-style-type: disc;
}

感谢Rob的回复。但是额外的margin-left会导致出现两个项目符号,这看起来不太好。 - Ankit
@Ankit 边距只是一个例子。根据您的需要进行调整。 - Rob W
我尝试更改边距值,但如果我给0em,它根本不显示。看起来不能仅使用CSS完成。无论如何,为你的努力加1分。 - Ankit
请查看此截图 http://i46.tinypic.com/5nngub.png 。当鼠标悬停时,我能够看到2个圆点。 - Ankit
@Ankit 我已经更新了我的答案。你原来的演示没有包含 <ul><ol>。我已经添加了它,解决方案可以正常工作,而无需修改边距。 - Rob W

0

如果我有一个类选择器,我可能不会发布这个查询 :) .. 无论如何,感谢您的回复。 - Ankit
没问题,最好检查一下。很高兴你找到了解决方案! - Darren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接