Domanda

Ho avuto gli "hack CSS" " vs " Commenti condizionali " argomento abbastanza volte ultimamente che ho pensato di gettare questa domanda alla comunità Stack Overflow.

<!--[if IE]>
 <link type="text/css" rel="stylesheet" href="ie-specific.css" /> 
<![endif]-->

L'argomento principale contro usando IE Conditional Commenti sembra essere che stai aggiungendo ulteriori richieste HTTP su ogni pageload, rallentando così la visualizzazione della tua pagina. Ciò che non sono riuscito a trovare sono le metriche del mondo reale che provano o smentiscono questa affermazione.

Lasciando da parte l'argomento della manutenzione di più fogli di stile rispetto a un foglio di stile (anche se questa è una discussione valida in sé e per sé), qualcuno qui ha fatto qualche test per determinare quanto di un rallentamento usando Commenti condizionali ti dia o sia in grado di indicarmi le statistiche raccolte da qualcun altro?

È stato utile?

Soluzione

Questo non è veramente sui commenti condizionali di per sé, è come una compilazione condizionale.

Un browser IE vedrà la tua pagina come inclusa

<link type="text/css" rel="stylesheet" href="ie-specific.css" /> 

(con un po 'di elaborazione extra per valutare la condizione del commento).

Un browser non IE vedrà solo un commento lì.

Quindi l'unico potenziale impatto sulle prestazioni è che i browser IE dovranno valutare la condizione del commento condizionale (che sarà trascurabile), e quindi includerà un altro file CSS. Mentre, naturalmente, altri browser visualizzano il file generico e ignorano completamente il commento.

La domanda allora è quali sono i pro e i contro di servire IE un file CSS conforme agli standard (diciamo) da 5Kb seguito da un (diciamo) hack da " file e avere tutti gli altri ottenere solo il file 5 KB; vs servire a tutti un file da 7Kb con CSS ingannevole. A seconda di vari fattori tra cui la velocità e la latenza della rete, la dimensione del file, il numero di risorse utilizzate nella pagina in generale, ecc., Ciò potrebbe avere o meno un impatto notevole sulle prestazioni nel caso IE (sarà senza dubbio più veloce per agenti utenti non IE).

Come per tutte le domande sul rendimento, dovrai profilare il tuo codice nel tuo ambiente per vedere qual è l'impatto, ma come linea guida generale mi aspetto che l'impatto sia trascurabile per IE, un piccolo aumento delle prestazioni per tutti gli altri browser, nonché la sensazione confusa di essere in grado di scrivere "corretto" CSS nel tuo file attuale e poi correggi IE separatamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top