2016-05-31 49 views
3

是否有可能在通配符属性选择器上使用:not选择器?是:不可能在通配符属性选择器上

例子:

<div class="circle circle-red"></div> 
<div class="circle circle-blue"></div> 
<div class="circle circle-yellow"></div> 
<div class="circle"></div> 

我想仅解决类“圆圈”的股利,而不是与类的div“圆红”,“圆蓝”,“圆黄”

+0

你俩的回答帮助你解决问题?如果是,请考虑将其标记为已接受(点击与最有帮助的答案对应的投票按钮下面的空白刻度标记)。这通常是将问题标记为“已解决”的方式:) – Harry

回答

10

您可以使用否定选择器(:not)以及属性包含选择器用于此目的。

选择器div.circle:not([class*="circle-"])将只选择具有circle类的div,但不包含circle-格式的任何其他类。

div.circle:not([class*="circle-"]) { 
 
    color: green; 
 
}
<div class="circle circle-red">Red</div> 
 
<div class="circle circle-blue">Blue</div> 
 
<div class="circle circle-yellow">Yellow</div> 
 
<div class="circle">None</div> 
 
<div class="circle-orange">Orange</div>

2

你可以链:不选择。

.circle { 
 
    width: 20px; 
 
    height: 20px; 
 
    border: 1px solid black; 
 
} 
 

 
.circle:not(.circle-blue):not(.circle-yellow):not(.circle-red) { 
 
    background: yellow; 
 
}
<div class="circle circle-red"></div> 
 
<div class="circle circle-blue"></div> 
 
<div class="circle circle-yellow"></div> 
 
<div class="circle"></div>