2013-12-02 7 views
7

Кто-нибудь знает, как использовать селектор CSS :not() как #some_id:not(.any_class_name)?Использование CSS: не ID с КЛАССОМ

Код выглядит так, как будто он прав, но он не работает. Есть ли другой способ без селектора not? Я ничего не мог найти в Интернете.

Я делаю веб-приложение, которое включает более одной страницы, но на нескольких страницах есть divs с id=some_id. Я думал, что должен добавить специальный CSS, добавив any_class_name один раз, используя вышеуказанный код CSS, чтобы решить проблему, но это не сработает.

+1

http://www.w3schools.com/cssref/sel_not.asp –

+0

Не могли бы вы привести пример селектора не работает? Было бы лучше, если бы вы также создали JSFiddle. –

+2

Идентификатор должен быть только один раз * на страницу. Несколько элементов, которые имеют один и тот же идентификатор, приводят к недопустимому HTML. –

ответ

2

Это установит все фоны, за исключением тех, что имеет <a></a>:

:not(a) 
{ 
    background: gray; 
} 
+0

Я вижу, что Секретная Белка меня избила до этого .... –

13

Я считаю, что вы реверсирования селекторы. У вас есть некоторые элементы с тем же class, но вы хотите отфильтровать элемент с конкретным ID. В этом случае:

HTML:

<p class="someclass">hello</p> <!-- will be targeted by css below, thus green --> 
<p class="someclass" id="some-id">hi</p> <!-- will not be targeted by css below --> 

CSS:

.someclass:not(#some-id){ color: green; } 
/* selects all elements with classname 'someclass', 
    but excludes the one that has also has an id of 'some-id' */ 

И как @secretSquirrel отметил, обратите внимание на browser compatibility: этот селектор не поддерживается Internet Explorer 8 и старше.

+1

Где этот вопрос подразумевает, что существует более одного элемента с тем же ID? – BoltClock

+0

Как использовать идентификатор более одного раза? –

+0

@ BoltClock'saUnicorn ow, я думал, потому что OP попросил пример с фильтром выбора идентификатора, на одной странице, где есть общий идентификатор, должно быть несколько элементов, потому что для этого вам нужен переключатель ': not', если есть выбран только один элемент? –

1

Надеюсь, это поможет вам.

Demo

Другой способ: Вы можете изменить CSS. Может быть, вы хотите что-то подобное.

<div id="demo"> 
<p class="class">This is a paragraph.</p> 
<p>This is another paragraph.</p> 
</div> 

Ваш CSS

#demo 
{ 
color:#0000ff; 
} 
.class 
{ 
color:#ff0000; 
} 
Смежные вопросы