La documentazione ufficiale di come funziona specificità is here . In un numero elevato, la specificità della base è semplicemente (100 * ID rules) + (10 * class rules) + (1 * tag rules)
.
Se si sta imbattendo in un sito Web molto odioso o si desidera utilizzare una regola molto ampia, è possibile utilizzare :not(#some_id_which_you_will_never_find)
per aumentare la specificità artificialmente. Le regole ID hanno il valore più alto, quindi dovresti usarle.
Per esempio ho voluto per garantire che ogni div in un sito web non è stato contrassegnato come visibility: hidden
e usato questo:
div:not(#oStHDi_0):not(#oStHDi_1):not(#oStHDi_2):not(#oStHDi_3):not(#oStHDi_4):not(#oStHDi_5) {
visibility: inherit !important;
}
Questo ha una specificità del 601.
Nel tuo caso body
ha specificità 001 , html > body
è 002 e body:not(#foobar)
è 101.
non so nulla di elegante, ma come ipotesi, css funziona sull'ultima regola che trova. così è elegante aggiunto in un modo simile al css? se è così, basta rendere elegante l'ultima cosa che viene caricata, o almeno dopo il tuo css. – mmeasor
La moda tipicamente inserisce prima il suo CSS - che è utile in molte situazioni, ma non in questa. –