Per quanto ne so i selettori CSS vengono valutati da destra a sinistra, quindi body div *
selezionerebbe ogni elemento, rispetto all'aspetto che ha un genitore di tipo div e di quelli che ha un genitore di tipo body. Quello di cui sono incerto è il modo in cui le pseudo-classi dinamiche vengono valutate in questa catena.Una pseudo-classe dinamica è stata valutata prima del resto del selettore?
Se avessi un selettore come div *:hover
come sarebbe la valutazione?
:hover
=>*
=>div
*
=>:hover
=>div
- Un'altra soluzione non ho pensato a
Probabilmente, dipende dall'implementazione. – Oriol
La valutazione sembra più simile a '*: hover' => ancestor' div' per un'implementazione tipica. Non esiste una nozione di ordine all'interno di un singolo selettore composto, eccetto l'ordine di cui i selettori semplici sarebbero più facili da eguagliare, e ciò è deciso da 1) quali sono i selettori semplici in uso e 2) l'implementazione. Vedere queste risposte: [\ [1 \]] (http://stackoverflow.com/a/5813672) [\ [2 \]] (http://stackoverflow.com/a/10108700) Si noti che questa domanda riguarda pseudo-classi dinamiche, che lo rendono più interessante, anche se alla fine riguarda ancora i dettagli di implementazione. – BoltClock