:n-child结合:不奇怪的行为

时间:2013-05-30 16:10:10

标签: css css-selectors

Hej Folks,

我坚持使用CSS和:nth-​​child而不是选择器。

情况:
我有一个搜索字段,结果显示如下。进入网站后,所有结果都已显示。为了更好地阅读每个第二个结果行,将获得一个未显示:nth-child(odd)

的高亮颜色

目标:
当用户在搜索栏中输入值时,我想隐藏(不删除!)所有无效行。通过添加类__inivisible,它可以正常工作。它只是将display属性设置为none

问题:
添加类__invisible后,:nth-child选择器将无法按预期工作。我已将其与:not(.__invisible)选择器结合使用,以排除所有不相关和不可见的结果。因此,他仍然认为他们。

也许它有点难以理解,所以这里有一个jsfiddle示例:http://jsfiddle.net/SHGp2/3/

我希望2条粉红色的行应该是他必须决定是奇数还是偶数的唯一行,所以一个应该是粉红色而一个应该是蓝色。

如果你不明白我在说什么,请禁用__invisible课程中的评论。你会看到两个粉红色的行,而不是一个粉红色和一个蓝色。

也许我得到了:nth-child选择器的功能错误,如果有的话,有没有办法让这个东西能用纯CSS?

提前致谢! :)

P.S。 在这个小提琴中没有JS;)

1 个答案:

答案 0 :(得分:2)

nth-chlid计算父母的子女,无论他们是否可见,或是否有任何其他条件适用于他们。不幸的是,没有办法在这里尝试,因为即使nth-of-type只比较标记名称。

最佳选择是在过滤掉行时将其完全删除。我建议制作一个表的克隆,然后你可以在需要恢复原始完整表时克隆这个“模板”。