1

我检查了输入元素的特殊选择,如下所示。我试图应用它来选择除具有 rel 属性的链接之外的所有链接。这里有一个例子:

CSS

.language a:not[rel=author]{
    background: red;
}

HTML

<section class="language">
   <a href="/en/">
       <abbr lang="en" title="english">EN</abbr>
   </a>
   <a href="/spa/">
       <abbr lang="es" title="english">ES</abbr>
   </a>
   <a href="http://whatever.com/" rel="author">Designed by me</a>
</section>

我只想针对前两个链接。我想避免上课并尝试使用 CSS 来定位它们。

4

4 回答 4

2

这样做:

.language a:not([rel=author]){
    background: red;
}

您只是在 :not 之后忘记了括号

于 2013-11-05T12:14:32.570 回答
1

而不是[att=val]属性选择器,您应该使用[att~=val]属性选择器

.language a:not([rel~=author]){
    background: red;
}

[rel~=author]author如果不是属性的唯一值,也匹配。rel所以它匹配如下链接:

<a href="http://whatever.com/" rel="author">Designed by me</a>
<a href="http://whatever.com/" rel="author external">Designed by me</a>
<a href="http://whatever.com/" rel="author external nofollow">Designed by me</a>
<!-- … -->
于 2013-11-05T15:03:37.800 回答
1

选择所有没有rel属性的锚点:

.language a:not([rel]){
    background:#F00;
}

JSFiddle

于 2013-11-05T12:15:33.337 回答
1

只针对属性...

.language a abbr[title="english"] {
   /* woohoo! */
}
于 2013-11-05T12:15:40.433 回答