我在使用:not
使用一些相对简单的CSS选择器时遇到了麻烦。即,以下选择器给出了一个错误:
a:not(.ebook_document *)
我正在尝试使用类<a>
获取不是元素子元素的所有ebook_document
元素。这也失败了:
a:not(.ebook_document > *)
以及:
a:not(.ebook_document, *)
将选择器放在自己的位置,而不是放在:not
部分可以正常工作。我做错了什么?
答案 0 :(得分:3)
:不仅需要simple选择器。 (目前,CSS 4将其扩展为selector list。)
另外,https://developer.mozilla.org/en/docs/Web/CSS/:not -
此选择器仅适用于一个元素;你不能用它来排除所有的祖先。例如,
body :not(table) a
仍将应用于表格内的链接,因为它将与选择器的:not()部分匹配。&#34;
使用时不可能使用:不。
你只能以相反的方式解决问题 - 格式化所有&#34;正常&#34;链接,然后使用.ebook_document a { ... }
因此,这意味着而不是首先将样式应用于这些链接,您可能需要覆盖那些您不喜欢这些链接的样式。
(或使用initial
/all
实际重置样式,但浏览器支持仍缺少AFAIK。)
答案 1 :(得分:0)
嗯,它不应该是:不是(.ebook_document)?我没有测试它,但似乎应该引用所有没有.ebook_document标签的标签。