2009-02-16 15 views
9

Quali sono i pro e i contro su CSS interno o esterno, pensando a velocità, richieste, memorizzazione nella cache ecc.? Personalmente non sono sicuro se css interno su pagine dinamiche verrà memorizzato nella cache ..?CSS interno vs esterno

risposta

13

Pro per CSS interno: - download più rapidi: si ricorda che ci sarà un richiesta HTTP aggiuntivo per ogni foglio di stile esterno si dispone

Pro per CSS esterno: - è comune per i siti web avere un "tema" comune in tutte le sue pagine. È possibile associare tutti questi stili comuni in file esterni e con un download si ottiene lo stile richiesto che può essere utilizzato in più pagine: risparmia tempo di download - è anche possibile memorizzare nella cache stili esterni e impostare una data di scadenza appropriata.

Una cosa contro per CSS interno è che può aumentare la dimensione di download dell'html.

migliore approccio: - uso mix di stili interni + esterni a seconda di quale vengono utilizzati stili nelle pagine diff - assicurarsi di configurare le impostazioni di scadenza sugli stili esterni e memorizzare nella cache.

vantaggio di combinare con Cache impostazioni scadenza: "look and feel" delle applicazioni web è regolato dalla seguente:

  • in genere si desidera mantenere la stessa 'sentire' in tutte le pagine
  • il contenuto è più probabile che cambi di frequente rispetto allo stile

Se si mettono gli stili nel file CSS esterno e si imposta una scadenza della cache di dire 1 mese, durante questo periodo tutti noi i secondi avranno ritardi di "avvio" molto bassi perché verranno scaricati solo i contenuti che sono stati modificati: gli stili verranno riutilizzati dalla cache del browser. Il browser richiederà automaticamente un aggiornamento la prima volta che qualcuno tenta di accedere alla tua pagina dopo la data di scadenza.

+0

Non ho molta familiarità con il funzionamento della memorizzazione nella cache delle pagine HTML. Tutte le pagine sono piuttosto dinamiche e verranno modificate ogni volta che un utente visita. Significa che l'intera pagina verrà ricaricata? – olemarius

+0

In generale, una richiesta HTTP in meno non supera il KB aggiuntivo che viene aggiunto a una pagina come risultato del CSS incorporato, sebbene accetti che lo stile (utilizzato esclusivamente nella pagina 1) sia meglio incluso in linea. – CJM

+0

[per 'inline' leggi 'internal'] – CJM

1

No, non lo faranno. CSS esterno può essere memorizzato nella cache su più pagine/richieste, inoltre puoi tipicamente comprimere questi file usando gzip.

10

Se la pagina è in ordine, il CSS interno per questa pagina è anche intercambiabile (dato che fa parte della pagina). Ma i fogli di stile esterni hanno il vantaggio che possono essere utilizzati per molte pagine e vengono richiesti una sola volta quando sono intercambiabili.

Quindi è necessario prima avere una richiesta aggiuntiva (il foglio di stile esterno) ma meno dati da trasferire su ulteriori richieste.

1

L'uso di CSS esterni assicura che l'aspetto di tutte le pagine sia coerente, almeno se si utilizza un file CSS per l'intero sito. Potrebbe esserci una penalità di velocità per la prima pagina, ma da quel momento il file CSS viene memorizzato nella cache e di conseguenza le pagine successive verranno caricate più velocemente.

Uso occasionalmente CSS interno in cui è molto specifico per la pagina e non utilizzabile altrove. Non metterli mai in linea; i CSS in linea sono molto difficili da mantenere.

Problemi correlati