Ciao e benvenuto
Risposta breve
Modifica il secondo selettore in questo modo:
codice:tr.SubTotali
Risposta dettagliata
Niente da perdonare, l'argomento non è poi così banale. Anche volendo, se non si conoscono quelle terminologie tecniche necessarie per poter effettuare delle ricerche mirate, è abbastanza difficile trovare autonomamente delle informazioni utili per poter risolvere. In tal caso hai tutto il diritto di rivolgerti ad un forum.Originariamente inviata da GM02
Parliamo infatti di specificità CSS. A volte è un argomento non troppo facile anche per i meno principianti
In sostanza si tratta di un valore calcolato dall'interprete CSS in modo da stabilire la priorità di una regola (e di ciascuna relativa proprietà) rispetto alle altre che agiscono sullo stesso elemento.
Molto brevemente la specificità di ciascun selettore è calcolata in base a 3 fattori: numero di selettori per id, numero di selettori per classi o per attributi o pseudo-classi, numero di selettori per nome tag (elementi) o pseudo-elementi; i quali restituiscono rispettivamente un valore per le centinaia, per le decine e per le unità.
A parità di valore ha priorità la regola che viene scritta/letta per ultima.
Tra parentesi: altri fattori, come l'uso di style in linea (scritto direttamente sui tag HTML) o l'uso della clausola !important, determinano una maggiore priorità nella considerazione delle relative proprietà CSS rispetto alle stesse applicate senza l'uso di tali fattori.
Nel tuo caso, la regola con questo selettore:
possiede un selettore per tag (tr) e una pseudoclasse (:nth-child(even)).codice:tr:nth-child(even)
Il valore della sua specificità è quindi 011.
Mentre la regola con questo selettore:
possiede solo un selettore per classe.codice:.SubTotali
Il valore della sua specificità è quindi 010.
Vince quindi la prima regola dal momento che 011 è maggiore di 010.
Il mio consiglio è quello di aumentare la specificità del selettore che vuoi sia considerato. Per farlo è sufficiente ottenere una specificità uguale (se non maggiore) rispetto alla prima regola:
Questo selettore:
possiede un selettore per tag (tr) e un selettore per classe (.SubTotali).codice:tr.SubTotali
Il valore della sua specificità è quindi 011, pari alla prima regola.
In base a quanto già indicato, vince comunque quest'ultima per il fatto che è scritta/letta dopo l'altra.
Per maggiori informazioni sulla specificità CSS, e argomenti inerenti, ti invito a fare qualche ricerca sul web o dare uno sguardo al capitolo 2 "Come funzionano i CSS" dei link utili CSS, sotto la voce "Specificità, ereditarietà, override", dove puoi trovare diversi riferimenti a guide e calcolatori online riguardo tale argomento.
E' tutto, buona permanenza sul forum e buon proseguimento![]()




Rispondi quotando