2010-02-05 4 views
2

У меня есть CSS, который выглядит следующим образом:CSS: Работа с не()

a:focus { background-color: #eeeeee; } 

Теперь в CSS3 есть атрибут нет(). Как я мог работать с этим, когда я хочу добавить фокус-цвет фона для всех элементов , но с одним исключением: я хочу, чтобы это не добавляли в тегах/элементы внутри .audio_wrapper

+2

: not() не является атрибутом, это псевдокласс. –

ответ

1

The: не псевдо-класс не поможет в этой ситуации, потому что он принимает только simple selectors, и ваше состояние зависит от атрибута родителя a «s. Лучшее решение - это просто определить правило, а затем переопределить его вторым правилом для условного случая.

Edit: На второй мысли, вы могли бы быть в состоянии сделать это следующим образом:

:not(.audio_wrapper) a:focus { ...rules... }

2

Попробовать есть правила:

a:focus { background-color: #eeeeee; } 
.audio_wrapper a:focus {background-color: #000000}; <!-- or white or what is your default color--> 
0

не селектор поддерживается только современными браузерами (Firefox, Safari и Opera), а не IE.

a: not (.audio_wrapper) {background-color: #eeeeee; ............}

+0

Это не сработает, потому что исключает элементы 'a', которые не имеют класса« audio_wrapper ». В случае с poru он хочет исключить элементы 'a' в родительском элементе, который имеет класс« audio_wrapper ». –

Смежные вопросы