0

#footer a之前使用了选择器,但是在删除#footer以使更改适用于<a>页面上的所有 's 之后,除了类为 div 中的那些之外.navbar,没有链接得到以下选择器分配:a:not(.navbar a), a:not(.navbar a):hover, a:not(.navbar a):active(也可以在 Google Chrome 元素检查器中看到)

我创建了 2 个 jsFiddles 来代表我想说的:

  1. 第一个版本的工作示例
  2. 坏了,新代码

我必须再次修复它,所以它适用于整个页面,除了一个 div。

4

1 回答 1

2

你不能a:not(.navbar a)在 CSS 中做。

如果你知道你的awill 总是直接嵌套在.navbar其中并且你想排除它a,你可以选择:not(.navbar) > a。但是如果嵌套级别是任意的,并且您想排除a嵌套在 中的任何位置.navbar,那么您可能很难为此编写 CSS 选择器。类似的东西:not(.navbar) a总是可以匹配树中更高的其他元素。有关为什么它不起作用的另一个示例,请参见此答案。

最简单的解决方案是将效果应用于所有a元素,然后在 中撤消它们.navbar a

.navbar a {
  text-shadow:none;
  padding:0;
  -webkit-transition-property: none;
  -moz-transition-property: none;
  -o-transition-property: none;
  transition-property: none;
}

jsFiddle 预览

于 2013-01-12T15:34:53.283 回答