¿Selector de CSS para no un elemento secundario del tipo de elemento?

81

Quiero diseñar codeelementos que no estén dentro de aetiquetas.

¿Cuál es el mejor enfoque para lograr esto?

code:not(a code)no parece funcionar en absoluto, al menos en Chrome, aunque parece que debería

Tampoco puedo hacer que funcione desde la consola.

¿Hay otros enfoques de solo CSS que pueda usar para esto?

bevacqua
fuente

Respuestas:

117

:not no admite selectores de combinador.

Si estamos hablando de su padre directo:

:not(a) > code

De lo contrario, no hay forma de hacer esto en CSS. Tendrá que anularlo:

code {
    /* some styles */
}

a code {
    /* override previous styles */
}
Joseph Silber
fuente
el problema es que no quería usar un selector de estrellas
bevacqua
9
Por curiosidad: no tengo idea de por qué, pero :not(a) > codefuncionó, mientras :not(a) codeque no lo hice, ¿alguna idea de por qué? (todavía cromado)
bevacqua
34
@Nico - Porque :not(a) codebusca cualquier antepasado que no sea an a, lo cual siempre es cierto. :not(a) > codesolo mira al padre inmediato.
Joseph Silber
Jackpot, debería haberlo pensado.
bevacqua