Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 有没有一种方法可以避免使用:not psuedo类从CSS中的列表中选择项目?_Html_Css - Fatal编程技术网

Html 有没有一种方法可以避免使用:not psuedo类从CSS中的列表中选择项目?

Html 有没有一种方法可以避免使用:not psuedo类从CSS中的列表中选择项目?,html,css,Html,Css,假设我有一个无序的列表: <div id="list"> <ul> <li><a href="1.html">Item 1</a></li> <li><a href="2.html"><img src="2.jpg"></a></li> <li><a href="3.html">Item 3</a></li> <

假设我有一个无序的列表:

<div id="list">
<ul>
<li><a href="1.html">Item 1</a></li>
<li><a href="2.html"><img src="2.jpg"></a></li>
<li><a href="3.html">Item 3</a></li>
</div>
除了使用:NOT psuedo类之外,是否有一种简单的方法不针对img列表项。我肯定有,但我最难弄清楚那是什么

谢谢大家!


编辑:尝试避免使用所有psuedo类以获得IE7/8支持:not和:n个child是问题的解决方案,我只是故意避免它们。

您可以使用
n-child()
请参阅fiddle:


li:nth child(奇数)a:hover{background:blue;}

回答我自己的问题,但请告诉我是否有更好的方法:

<li class="selected-item"><a href="1.html">Item 1</a></li>
<li><a href="1.html">Item 1</a></li>
<li class="selected-item"><a href="1.html">Item 1</a></li>

因此,只需针对具体项目。HTML有点笨重。

截至2016年1月12日,微软已经放弃了对IE 11下任何内容的支持

因此,明智的做法是不要把时间浪费在寻找避免所有psuedo类的解决方案上


不,没有。唯一的方法是将类分配给您想要处理的
li
元素,然后修改样式选择器:
#list li.bg-white a:hover{..}
。注意-您如何使用
:not
伪类?如何使用
:nth-child()
伪类?我应该指定,我正在尝试在没有IE7/8支持的任何psuedo类,也没有使用JS或类似的解决方法的情况下执行此操作。@您是否知道
:hover
本身就是psuedo代码,微软不再支持ie10及以下版本(仅供参考)警告:它并不代表一个通用的案例解决方案。谢谢你,我正在尝试避免IE7/8支持的所有psuedo类,而不添加JS,但我想到了使用第n个子类。这个列表实际上比真实交易中的3个项目要长,但第n个孩子仍然有效。@potashin我必须查一下这个项目的定义@potashin“警告”一词。。。我以前从未听说过它,现在不得不去查:)你为什么要支持这么旧的浏览器?请参阅本文,截至2016年1月12日,Mircosoft不支持IE 11下的任何内容。您的解决方案不是来自第一条评论吗?你做得不对你能解释一下我做得不对吗?我没有得到另一个解决方案,所以我用这种方式重写了它,效果很好。这不是我想要的解决方案。你的css类与html类不匹配<代码>所选项目vs
列表项目
。谢谢。你是对的,但是缺乏支持并不意味着a)人们不再使用IE7、8、9和10。此外,b)在该特定应用中,需要避免:not和:nth child。这是一个非常具体的问题,否则我会非常同意你的看法。
<li class="selected-item"><a href="1.html">Item 1</a></li>
<li><a href="1.html">Item 1</a></li>
<li class="selected-item"><a href="1.html">Item 1</a></li>
.selected-item a:hover {background: #FFF;}