Tester di selettori CSS
Guarda cosa raggiunge il tuo selettore
Questo tester di selettori css prende il tuo markup e il tuo selettore, poi mostra ogni elemento che il selettore raggiunge. Così leggi le corrispondenze invece di tirare a indovinare. Il lavoro avviene nel tuo browser, perché non carichiamo nulla.
- GratisPrezzo
- CinqueModalità
- NessunaIscrizione
- NessunaCaricamenti
Tester di selettori CSS
Esegui un selettore sul tuo markup e vedi esattamente cosa raggiunge
- Elementi corrispondenti
- —
Pronto. Incolla un po’ di markup, scrivi un selettore e compaiono le corrispondenze.
Che cosa fa un tester di selettori CSS
Un selettore è una domanda sul tuo markup. Questo tester di selettori css le risponde davanti a te, quindi le congetture spariscono. Incolla il markup, scrivi il selettore e leggi gli elementi raggiunti.
Quattro domande coprono quasi tutto il lavoro. Per prima cosa, quali elementi raggiunge questo selettore? Poi, che cosa dice davvero il selettore in parole semplici? Dopodiché, quanto è forte contro una regola rivale? Infine, qual è il selettore più corto per un elemento che puoi indicare?
Questo non è uno strumento per fogli di stile. Perché ridurre e riordinare il CSS è un altro lavoro, il minificatore CSS si occupa di quel lato. Qui il tema è il confronto, e nient’altro.
Nulla da installare. Di conseguenza incolli un frammento, leggi la risposta e chiudi la scheda quando ti va.
Come funziona un tester di selettori CSS
Il lavoro si divide in tre passaggi. Per prima cosa la pagina legge il tuo markup in un albero di tag e attributi. Poi quell’albero viene ricostruito come elementi veri che non entrano mai nella pagina. Infine il tuo selettore gira sulla copia ricostruita, e le corrispondenze tornano nell’ordine del documento.
Il motore di confronto è quello del browser. Perché le regole Selectors Level 4 sono lunghe e piene di casi limite, un motore scritto a mano prima o poi si scosterebbe dalle pagine reali. Così questa pagina interroga il motore già presente nel tuo browser, perché è lo stesso motore che giudicherà il tuo sito.
La copia ricostruita resta staccata. Di conseguenza non ha stili, né script, né impaginazione. È voluto, perché la domanda qui è quali elementi un selettore raggiunge, non come apparirebbero.
Prova un selettore sul tuo markup
Un selettore che funziona in un tutorial può comunque mancare il tuo markup. Di conseguenza la prova onesta è il tuo frammento, incollato così com’è. Copia un blocco dal codice sorgente della pagina e mettilo qui.
![Schermata del tester di selettori CSS in modalità corrispondenza: un frammento di navigazione incollato a sinistra che contiene tre elementi di elenco, il selettore .list .item a[data-track] a destra, un conteggio che recita 2 di 8, e i due link raggiunti elencati sotto, ognuno con il proprio percorso lungo l’albero così da poter distinguere la coppia](/wp-content/themes/denwix/assets/img/tools/cssel-match.webp?v=3.123.2)
Ogni corrispondenza arriva con il suo contesto. Così ottieni prima il conteggio, poi ogni elemento raggiunto con il suo tag di apertura, e il percorso che vi conduce dalla cima del frammento.
Il percorso è la parte utile. Perché due corrispondenze spesso sembrano identiche, il percorso mostra quale è quale. A quel punto un selettore che prende un elemento di troppo è facile da restringere.
Un risultato vuoto è comunque una risposta. Tuttavia è la risposta che sfugge, quindi la pagina dice chiaramente che nulla ha corrisposto invece di mostrare una casella vuota.
Che cosa viene scartato prima del confronto
Questo strumento tratta ciò che incolli come testo, mai come una pagina. Così la ricostruzione lascia fuori del tutto i tag script e style, gli iframe e gli embed.
Gli attributi di evento fanno la stessa strada. Perché solo una pagina viva si serve di un onclick o di un onerror, la ricostruzione li scarta insieme ai tag che li portavano. Inoltre un indirizzo javascript: in un href perde anch’esso il suo tag.
Il resto sopravvive intatto. Di conseguenza le tue classi, i tuoi id, gli attributi data e l’annidamento sono tutti ancora lì perché il selettore vi si agganci.
Tester di selettori jQuery senza jQuery
Metà dei selettori che la gente incolla non è CSS affatto. Al contrario viene da jQuery, che ha aggiunto le sue forme come :first, :eq() e :contains(). Un semplice tester di selettori css li rifiuterebbe senz’altro.

Questo invece risponde comunque. Perché quelle forme si riducono a una posizione o a un test sul testo su un elenco di corrispondenze, la pagina le applica da sé dopo che la parte CSS è girata. Così un tester di selettori jquery vive qui senza una riga di jQuery nella pagina.
La pagina mostra la traduzione invece di nasconderla. Di conseguenza vedi quale parte era CSS standard e quale parte la pagina ha trattato dopo. In questo modo un selettore che stai portando a querySelectorAll non riserva sorprese.
Alcune forme non hanno equivalente. In ogni caso la pagina le nomina invece di fingere, che è l’unica cosa utile da fare con un selettore che nulla può raggiungere.
In che cosa :first e :eq differiscono dal CSS
Le trappole sono quelle che sembrano innocue. In particolare :first prende un elemento da tutto l’elenco delle corrispondenze, invece :first-child e :first-of-type chiedono della posizione di un elemento fra i suoi fratelli.
Quella differenza morde sul markup reale. Perché un elenco di dieci voci ha dieci candidati first-of-type in dieci genitori diversi, tuttavia solo uno di essi è la prima corrispondenza dell’elenco. Quindi le due forme rispondono a domande diverse.
Calcolatore di specificità CSS
Il confronto è solo metà della storia di una regola. L’altra metà è la forza, che la cascata risolve contando le parti di un selettore. Così questo calcolatore di specificità css riporta quel conteggio come i tre numeri che i browser usano davvero.

I tre numeri si leggono facilmente. Per prima cosa vengono i selettori di id, poi le classi, gli attributi e le pseudo-classi, infine i nomi degli elementi e gli pseudo-elementi. Dopodiché il confronto è una semplice lettura da sinistra a destra.
Gli stili in linea e important stanno fuori dalla tripletta. Tuttavia la pagina dice dove atterrano, perché una regola che perde sulla carta può comunque vincere nel browser per una di quelle due ragioni.
Le regole di specificità premiano i selettori corti. Di conseguenza un selettore con il punteggio più basso è spesso quello migliore da mandare in produzione, perché resta facile da sovrascrivere più tardi.
Quale dei due selettori vince
Incolla due selettori e la risposta è immediata. Perché entrambe le triplette compaiono una accanto all’altra, il vincitore si vede senza contare nulla a mano.
La pagina chiama un pari un pari. Poi vince la regola che compare più avanti nel foglio di stile, e la pagina lo dice invece di lasciartelo ricordare.
Leggi un selettore in parole semplici
Un selettore lungo nasconde il proprio senso. Così la pagina lo rilegge come una frase, parte per parte, nell’ordine in cui il browser le applica.

La lettura non ha bisogno di alcun markup. Perché la spiegazione viene dalla struttura stessa del selettore, puoi controllare un selettore uscito da una revisione del codice prima di avere la pagina a cui appartiene.
I combinatori sono il punto in cui la gente scivola. Di conseguenza uno spazio, un segno di maggiore, un più e una tilde vengono ognuno nominati a parole, perché discendente, figlio, fratello successivo e fratello più avanti sono quattro domande diverse.
La stessa abitudine aiuta con markup che non hai scritto tu. Dopo una lettura rapida del selettore, un’occhiata all’output del minificatore HTML o al codice sorgente della pagina spiega spesso il resto.
Un selettore per un solo elemento
A volte l’elemento viene prima e ti serve il selettore per esso. Così scegli un nodo nell’albero analizzato, e la pagina propone il selettore più corto che raggiunge solo quell’elemento.
L’obiettivo è corto, non furbo. Perché un id da solo spesso basta, la pagina prova quello per prima cosa, poi una classe, e solo dopo un percorso attraverso i genitori.
Che cosa questa pagina non farà
Non eseguirà il tuo JavaScript. Perché la copia ricostruita è inerte di proposito, un selettore che dipende da uno script già girato qui non corrisponderà.
Non corrisponderà a uno stato. Tuttavia quella è una proprietà di qualunque markup staccato: hover, focus, visited e target descrivono una pagina viva, quindi restano vuoti.
Non darà stile a nulla. Un tester di selettori risponde alla domanda quali elementi, perché l’aspetto di quegli elementi è una domanda a parte per il browser a cui ti rivolgi.
In questa pagina
- Lo strumento
- Che cosa fa un tester di selettori CSS
- Usare il tester di selettori CSS, passo per passo
- Che cosa fa di diverso questo tester di selettori CSS
- Azzeccare un selettore al primo colpo
- Errori comuni quando scrivi un selettore
- FAQ del tester di selettori CSS
- Compagni utili per il lavoro front end
Continua
Usare il tester di selettori CSS, passo per passo
Quattro passi trasformano così un selettore di cui dubiti in un elenco che puoi leggere.
- 1
Incolla il tuo markup
Un frammento basta, e anche una pagina intera funziona.
- 2
Scrivi il selettore
Il conteggio delle corrispondenze si aggiorna mentre scrivi, quindi un errore di battitura si vede subito.
- 3
Leggi le corrispondenze
Ogni elemento raggiunto arriva con il suo tag di apertura e il suo percorso.
- 4
Controlla la forza
La tripletta di specificità ti dice così quanto sarà difficile sovrascrivere la regola.
Che cosa fa di diverso questo tester di selettori CSS
Il motore del browser stesso, le forme jQuery senza jQuery, e nulla va mai in produzione.
Usa il motore vero
Il tuo browser risponde al selettore, quindi il risultato corrisponde a quello che otterrà il tuo sito.
Non esegue mai il tuo markup
La ricostruzione scarta script, stili e attributi di evento prima che il selettore giri.
Parla anche jQuery
La pagina risolve le forme :first, :eq e :contains senza caricare una libreria.
Conta la specificità
Ogni selettore ottiene la sua tripletta, e due selettori si confrontano così direttamente.
Si spiega da sé
La pagina rilegge un selettore lungo come una frase, combinatore per combinatore.
Resta nel tuo browser
Il markup non pubblicato non lascia mai la tua macchina, perché nulla viene caricato.
Azzeccare un selettore al primo colpo
Poche abitudini tengono così un selettore corto e stabile.
- Prova su markup reale Incolla il frammento dalla tua pagina, perché un esempio ordinato nasconde i casi scomodi.
- Preferisci il punteggio più basso Un selettore che vince per una classe è così più facile da sovrascrivere di uno che vince per un id.
- Nomina il combinatore di proposito Un selettore di figlio dice quello che un selettore di discendente solo sottintende, quindi usalo quando è ciò che intendi.
- Controlla il conteggio, non la prima corrispondenza Un selettore che raggiunge quattro elementi quando ne volevi uno sembra tuttavia corretto in cima.
Errori comuni quando scrivi un selettore
Ognuno di questi errori raggiunge così qualcosa, solo non quello che intendevi.
Prendere :first per :first-child
Uno prende una sola corrispondenza dall’elenco, l’altro invece chiede di ogni genitore a turno.
Appoggiarsi a un id per la forza
Un id vince oggi e blocca ogni sovrascrittura domani, quindi una classe è di solito lo strumento migliore.
Dimenticare che uno spazio significa discendente
Uno spazio di troppo fra due parti trasforma così una domanda in una molto più ampia.
Mettere male tra apici il valore di un attributo
Un valore con uno spazio o un trattino ha bisogno degli apici, perché altrimenti il selettore è semplicemente non valido.
Provare su markup che hai riordinato prima
L’involucro che hai tolto a mano è spesso quello da cui dipende il selettore vero.
FAQ del tester di selettori CSS
Che cos’è un tester di selettori CSS?
È una pagina che prende il tuo markup e un selettore, poi mostra ogni elemento che il selettore raggiunge. Così, invece di ricaricare un sito per vedere se una regola si è applicata, leggi la risposta direttamente.
Il mio markup lascia il browser?
No. L’analisi, la ricostruzione e il confronto avvengono tutti sulla tua macchina. Di conseguenza un markup non pubblicato resta privato, e nessun server vede il frammento che hai incollato.
Quali selettori sono supportati?
Tutto ciò che il tuo browser supporta, perché è il browser a fare il confronto. Questo copre l’insieme Selectors Level 4, quindi :is, :where, :not e :has sui browser attuali.
Perché :hover non corrisponde mai?
Perché il markup ricostruito è staccato, nessuno può passarci sopra il puntatore. Lo stesso vale per focus, visited e target, infatti tutti e quattro descrivono una pagina viva e non una struttura di documento.
Posso testare selettori jQuery qui?
Sì. Le forme proprie di jQuery come :first, :eq() e :contains() si risolvono dopo che la parte CSS è girata. Così la pagina funziona da tester di selettori jquery senza caricare jQuery.
Che cosa significa la tripletta di specificità?
I tre numeri contano i selettori di id, poi le classi con gli attributi e le pseudo-classi, infine i nomi degli elementi. Un browser li confronta da sinistra a destra, e la prima differenza decide il vincitore.
Dove si collocano gli stili in linea?
Stanno sopra ogni selettore nella cascata, quindi nessuna tripletta li batte. Una dichiarazione important sta ancora più sopra, per questo la pagina nomina entrambi invece di assegnare un punteggio.
Un selettore più lungo vince sempre?
No. La lunghezza non conta, contano solo le parti. Di conseguenza dieci nomi di elemento perdono comunque contro una sola classe, per quanto lungo sembri il selettore.
Perché due regole con lo stesso punteggio si comportano in modo diverso?
Perché un pari si risolve con l’ordine. La regola che compare più avanti nel foglio di stile si applica, quindi spostare un blocco può cambiare la pagina senza cambiare un selettore.
Questo è un validatore CSS?
No. Un validatore controlla un intero foglio di stile contro la grammatica. Questa pagina risponde a un selettore alla volta, tuttavia ti dice quando un selettore non è valido.
Posso incollare una pagina intera?
Sì. Un documento completo funziona, e anche un solo elemento. In ogni caso un frammento più piccolo rende l’elenco delle corrispondenze più facile da leggere.
Che fine fanno i tag script nel mio markup?
Vengono scartati prima della ricostruzione, insieme a stili, iframe ed embed. Perché nulla viene mai aggiunto alla pagina viva, uno script incollato non ha nulla in cui girare.
Perché il mio selettore non raggiunge nulla?
Spesso manca un genitore nel frammento. Un selettore di discendente ha bisogno anche dell’antenato, quindi copia un livello più in alto e riprova.
Il tester modifica il mio markup?
Lascia il tuo testo intatto nella casella. La copia ricostruita scarta i tag non sicuri, tuttavia le tue classi, i tuoi id, gli attributi data e l’annidamento sopravvivono tutti per il confronto.
In che cosa è diverso da un tester XPath?
XPath interroga XML con un linguaggio di percorsi, e i selettori CSS interrogano il markup con una sintassi molto più corta. Il <a href="/xpath-tester/">tester XPath</a> copre il primo lavoro.
Posso ottenere un selettore per un elemento che vedo?
Sì. Scegli il nodo nell’albero analizzato e la pagina propone il selettore più corto che raggiunge solo quello. Così si prova prima un id, poi una classe, poi un percorso.
Gestisce i selettori di attributo?
Tutti, comprese le forme di prefisso, suffisso e sottostringa. Inoltre un valore che contiene uno spazio o un trattino va messo tra apici.
:has rallenterà la pagina?
Non qui, perché il frammento è piccolo e staccato. Su un sito reale :has costa più di un selettore di classe, quindi misura prima di appoggiarti a esso.
Posso usarlo per querySelectorAll in JavaScript?
Sì, ed è il confronto onesto. Perché querySelectorAll usa lo stesso motore, un selettore che funziona qui funziona nel tuo script.
Perché il conteggio si aggiorna mentre scrivo?
Così un errore di battitura si vede subito. Un selettore con uno spazio di troppo spesso scende a zero corrispondenze, che è un riscontro più rapido di un ricaricamento di pagina.
C’è un limite alla dimensione del markup?
Solo la tua macchina. Un frammento grande come una pagina viene confrontato in un attimo, e inoltre la vista ad albero resta usabile molto oltre.
Mi serve un account?
No. Il tester di selettori css è gratuito, tra l’altro non chiede alcuna iscrizione, e non conserva nulla dopo che chiudi la scheda.
Compagni utili per il lavoro front end
Un selettore è una domanda. Questi tre quindi rispondono a quelle vicine.
Tester XPath
Esegui un’espressione di percorso su XML e leggi i nodi che restituisce.
Apri lo strumento →Tester JSONPath
Interroga un documento JSON con filtri, slice e funzioni.
Apri lo strumento →Minificatore CSS
Riduci il foglio di stile una volta che i selettori al suo interno sono giusti.
Apri lo strumento →
Pronto a testare un selettore?
Incolla il markup, scrivi un selettore e leggi gli elementi raggiunti. Questo tester di selettori css è gratuito, non chiede alcun account, e nulla di ciò che incolli lascia il tuo browser.