Che cosa significano le proprietà dello stile incrociato in devtools di Google Chrome?


274

Durante l'ispezione di un elemento utilizzando gli strumenti di Chrome, nella scheda degli elementi, la barra "Stili" sul lato destro mostra le proprietà CSS corrispondenti. A volte, alcune di queste proprietà sono barrate. Cosa significano queste proprietà?


4
Ho anticipato questa domanda. +1 per questo.
Rajesh Paul,

Risposte:


314

Quando una proprietà CSS viene visualizzata come barrata, significa che è stato applicato lo stile barrato, ma poi sovrascritto da un selettore più specifico, una regola più locale o da una proprietà successiva all'interno della stessa regola.

(Casi speciali: uno stile verrà anche mostrato come barrato se uno stile esiste in una regola di corrispondenza ma è commentato o se lo hai disabilitato manualmente deselezionandolo negli strumenti di sviluppo di Chrome. Mostrerà anche come incrociato fuori, ma con un'icona di errore, se lo stile ha un errore di sintassi.)

Ad esempio, se un colore di sfondo è stato applicato a tutte le divs, ma un colore di sfondo diverso è stato applicato a divs con un determinato id, il primo colore verrà visualizzato ma verrà barrato, poiché il secondo colore lo ha sostituito (nella proprietà lista per divcon quell'id).


18
In una nota a margine, le proprietà barrate possono essere quelle "cancellate" dalle proprietà omonime successivamente nella stessa regola CSS (come richiesto dalle specifiche CSS)
Alexander Pavlov,

57
@JacobM: come sapere quale proprietà ha la precedenza sulla proprietà colpita.
ArunRaj,

51
@ArunRaj - Non esiste un modo semplice per dire quale proprietà (o proprietà) ha la precedenza su quella barrata. Un'opzione è quella di cercare nella scheda degli stili "calcolati" per trovare lo stesso tipo di proprietà, quindi se si espande si dovrebbe vedere l'origine delle varie regole che stanno provando ad applicare quella proprietà (inclusa quella che è effettivamente attiva) . Quindi, se vedi che "font-size: 11px" è barrato, cerca nelle proprietà calcolate "font-size" e dovresti vedere tutti i punti in cui viene applicata la dimensione del font, incluso quello effettivamente attivo. Spero che questo ti aiuti.
Jacob Mattison,

7
Ora c'è una casella Filtro nella parte superiore della scheda Stili. Se ti stai chiedendo cosa ha scavalcato, border-colordigita semplicemente border-coloril Filtro. Mostrerà tutte le regole che contengono quella proprietà, con la proprietà evidenziata in giallo. Questa funzione è disponibile anche in Firefox.
joeytwiddle,

4
Volevo anche aggiungere: se uno stile viene eliminato ma è già nella parte superiore, potresti avere uno stile CSS da qualche parte con !importantche lo sovrascrive.
Dominic K,

12

In una nota a margine. Se si utilizzano query @media (ad esempio@media screen (max-width:500px )) prestare particolare attenzione all'applicazione della query @media DOPO aver terminato con stili normali. Perché la query @media verrà barrata (anche se è più specifica) se seguita da CSS che manipola gli stessi elementi. Esempio:

@media (max-width:750px){
#buy-box {width: 300px;}
}

#buy-box{
width:500px;
}

** width will be 500px and 300px will be crossed out in Developer Tools. **

#buy-box{
width:500px;
}

@media (max-width:750px){
#buy-box {width: 300px;}
}

** width will be 300px and 500px will be crossed out **

cosa succede se le media query sono in un diverso file CSS?
Carlos Hernández Gil,

11

Oltre alla risposta di cui sopra, desidero anche evidenziare un caso di proprietà cancellata che mi ha davvero sorpreso.

Se stai aggiungendo un'immagine di sfondo a un div:

<div class = "myBackground">

</div>

Vuoi ridimensionare l'immagine per adattarla alle dimensioni del div in modo che questa sia la tua normale definizione di classe.

.myBackground {

 height:100px;
 width:100px;
 background: url("/img/bck/myImage.jpg") no-repeat; 
 background-size: contain;

}

ma se si scambia l'ordine come: -

.myBackground {
 height:100px;
 width:100px;
 background-size: contain;  //before the background
 background: url("/img/bck/myImage.jpg") no-repeat; 
}

quindi in Chrome vedrai le dimensioni dello sfondo come cancellate. Non sono sicuro del perché, ma sì, non vuoi rovinarlo.


8

Se si desidera applicare lo stile anche dopo aver ricevuto l'indicazione barrata, è possibile utilizzare "!important"per applicare lo stile. Potrebbe non essere una soluzione giusta ma risolvere il problema.


Ho avuto problemi nel ridimensionare una GoogleMap per cellulari rispetto ai media. Ho un'impostazione di base per i browser (senza media) seguita da vari media con dimensioni inferiori, ciò che non ha funzionato (stile corretto per dispositivi mobili mostrato in GC ma con barrato). Dopo che l'ho aggiunto! Importante, funziona, ma non capisco la "logica" che sta dietro ...
FredyWenger,

-5

Ci sono alcuni casi in cui si copia e incolla il codice CSS da qualche parte e si interrompe il formato in modo che Chrome mostri l'avviso giallo. Dovresti provare a riformattare di nuovo il codice CSS e dovrebbe andare bene.


2
La domanda non ha posto nulla riguardo agli "avvisi gialli". Questa risposta dovrebbe al massimo un commento.
Simone,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.