CSS Selector для не дочірнього елемента типу?


81

Я хочу стилізувати codeелементи, які не знаходяться всередині aтегів.

Який найкращий підхід для цього?

code:not(a code)здається, взагалі не працює, принаймні в Chrome, хоча здається, що так і має бути

Я не можу змусити його працювати з консолі.

Чи існують інші підходи, призначені лише для css, які я міг би використати для цього?

Відповіді:


121

:not не підтримує селектори комбінаторів.

Якщо ми говоримо про його безпосереднього батька:

:not(a) > code

В іншому випадку це неможливо зробити в CSS. Вам доведеться його замінити:

code {
    /* some styles */
}

a code {
    /* override previous styles */
}

справа в тому, що я не хотів використовувати селектор зірок
bevacqua

9
З цікавості: я не маю уявлення чому, але :not(a) > codeпрацював, хоча :not(a) codeні, не мав ідеї чому? (все ще хромований)
bevacqua

36
@Nico - Тому що :not(a) codeшукає будь-якого предка, який не є a, що завжди відповідає дійсності. :not(a) > codeдивиться лише на безпосереднього батька.
Джозеф Сільбер

Джекпот, мені слід було це зробити.
bevacqua
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.