如何对 CSS 规则进行例外处理?

Not*_*llo 5 html css

我有一个 CSS 规则,告诉所有链接都具有蓝色背景颜色和白色文本颜色。但是,如果我有一个带有链接的图像,则 a 规则会在背景颜色中为它们提供一点蓝色下划线。我希望这是有道理的。

长话短说,我想告诉 a 属性适用于除 img 元素之外的所有内容。这是我现有的 CSS 代码。

a {
  background-color:#0078D7;
  color:white;
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试添加“:not(img)”,但它没有改变任何东西。该代码就在这里。

a:not(img) {
  background-color:#0078D7;
  color:white;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

更新:这是我现有 HTML 的一个片段。单击图像时,它会按照预期将用户发送到图像的完整视图。

<a href="../images/infobox.png"><img src="../images/infobox.png" width="300px"></a>
Run Code Online (Sandbox Code Playgroud)

Pat*_*rik 6

当你写的时候

a:not([data-attr="img"])
Run Code Online (Sandbox Code Playgroud)

您的意思是带有名为 img 的属性的链接。您可以做的是使用带有值 img 的数据属性或类属性。并且您的代码将起作用:

HTML5

<a data-attr="img" href="...">
Run Code Online (Sandbox Code Playgroud)

CSS

a:not([data-attr="img"])
Run Code Online (Sandbox Code Playgroud)

祝你好运。

编辑:

我犯了一个错误,正确的 CSS 是

a:not([data-attr="img"])
Run Code Online (Sandbox Code Playgroud)