我有一个 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)
当你写的时候
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)