Quando si utilizzano più file css sulla stessa pagina e si scontrano, come faccio a sapere quale verrà utilizzato? Ad esempio, se si dice sfondo blu del corpo e l'altro dice rosso.Ordine di prioritizzazione quando si usano più file contradditori css
risposta
Risposta rapida:
Se entrambi i pezzi di CSS hanno la stessa specificity (ad esempio, sono entrambi body{
), poi a seconda di quale viene chiamato ieri sostituirà quello precedente.
MA, se qualcosa ha una specificità più elevata (un selettore più specifico), verrà utilizzato indipendentemente dall'ordine.
Esempio 1:
<div class="container">
<div class="name">Dave</div>
</div>
<style>
.name { color: blue; }
.name { color: red; }
</style>
L'esempio sopra farà il colore rosso. Entrambi i selettori sono uguali e pertanto hanno anche la stessa specificità. E poiché il CSS si legge dall'alto verso il basso, prima diciamo che è blu, ma poi lo ignoriamo dicendogli "non importa, rendilo rosso".
Esempio 2:
<div class="container">
<div class="name">Dave</div>
</div>
<style>
#container .name { background-color: blue; }
.name { background-color: red; }
</style>
L'esempio sopra farà il colore di sfondo blu, anche se blu era in primo luogo perché il selettore è more "specific".
eccezione (l'uso di !important
):
L'inclusione di !important avrà la precedenza sia la specificità e l'ordine, ma a mio parere, deve essere utilizzato solo se si sta cercando di pasticciare con un codice di terze parti in cui non si ha accesso per modificarlo in altro modo.
esterno CSS:
regole di sovrascrittura funzionano allo stesso modo su file CSS esterni. Immagina di metterle in ordine di grandezza, da cima a fondo. I selettori richiamati nei primi file verranno sovrascritti dai selettori di specificità delle stesse in qualsiasi file successivo. Ma la specificità trionferà ancora all'interno dello stesso file o in più file.
Come prova:
In Chrome, Firefox, e le versioni moderne di IE (probabilmente troppo Safari), è possibile fare clic destro su qualcosa e fare clic su "Inspect Element". Questo mostrerà l'HTML e qualsiasi CSS applicato. Mentre scorri verso il basso il CSS (di solito a destra), vedrai le cose che sono cancellate, il che significa che sono CSS errati o sovrascritte. Per testare, è possibile modificare i selettori CSS (nel proprio codice o proprio lì nella finestra degli strumenti di sviluppo) per renderli più specifici e vedere se ciò rende poi non-barrato ... ecc. Gioca con questo strumento: è MOLTO utile.
+1 per menzionare la specificità - vorrei solo aggiungere una menzione di "! Important". @Filip, per i dettagli, consultare [http://www.w3.org/TR/CSS2/cascade.html](http://www.w3.org/TR/CSS2/cascade.html). –
@Ian Punto valido: non ci ho pensato perché I HATE lo usava, ma certamente vero. Modificherò la mia risposta per includere. (grazie!) – Dave
Oh sì, assolutamente - non è carino, ma è valido. –
- 1. Come si usano più classi css in HAML?
- 2. Come si usano i CSS in Django?
- 3. Come si usano le icone di fontello nel mio css?
- 4. Ordine di elaborazione CSS
- 5. Quando si usano vararg in Java?
- 6. Quando si usano oggetti funzione in C++?
- 7. overflow: nascosto non funziona quando si usano le tabelle
- 8. IndexOutofBounds quando si usano i byte letti di Java
- 9. Lasciare alcuni valori invariati quando si usano le proprietà stenografiche dei CSS
- 10. Prioritizzazione di thread all'interno dei thread
- 11. Ordine di caricamento file CSS e JavaScript esterni
- 12. ordine di sovrascrittura stile css?
- 13. Un grande file css vs più piccoli file css
- 14. differenza tbl_df e data.frame quando si usano i loop
- 15. prestazioni Haskell quando si usano le classi e le istanze
- 16. Come si cambia il file css quando si usa Webpack per caricare css?
- 17. I punti di interruzione nei file in chrome non vengono colpiti quando si usano le webmap sourcap
- 18. Come si usano più versioni dello stesso pacchetto R?
- 19. ORA-00932: datatypes contradditori: atteso - ha CLOB
- 20. UIControl: ordine di chiamata quando si aggiungono più coppie di azioni di destinazione allo stesso evento?
- 21. Cosa significa() in un'espressione lambda quando si usano le azioni?
- 22. Identificatore sconosciuto quando si usano le costanti C#
- 23. gdb dà uscita strano quando si usano funzioni math.h
- 24. Impostazione delle immagini TabBar finite quando si usano gli storyboard?
- 25. Come sottoclasse il Navigation Controller quando si usano gli storyboard?
- 26. Quando si usano le esuberanti ctags quali opzioni usare?
- 27. Più file CSS e prestazioni
- 28. Come si usano le variabili javascript quando si scrivono stili CSS in linea in un modello Jade
- 29. C'è un modo per incrementare i numeri quando si usano più cursori in Atom?
- 30. Aggiungere linee a <head> quando si usano i layout di Iron Router
Se non lo hai già, scarica il plug-in Firebug per Mozilla Firefox. Ha un esploratore CSS che ti consente di visualizzare tutti gli stili e le classi su un elemento DOM specifico. Permette anche di modificarli ad-hoc e vedere visivamente i risultati su qualsiasi pagina. Questo più che altro mi ha aiutato a capire come il CSS interagisce con una pagina. –
Firebug e chrome inspector (e opera firefly) sono strumenti inestimabili durante la progettazione di pagine Web! –