2013-03-02 8 views
11

Mi è stato detto, oltre a leggere che l'uso dell'attributo style in html è considerato cattivo/sciatto/scadente. Inoltre, tutti i bit specifici per il rendering dovrebbero essere divorziati in css e in altre parti, a seconda dei casi. Sto cercando di capire perché esattamente questo è.Perché si sta usando l'attributo style in html male?

Posso capire perché si potrebbe voler mantenere l'HTML un puro DOM semantico, che parla della struttura del documento, ma per le pagine pratiche, l'importanza è che la pagina sia corretta e funzioni in modo appropriato.

C'è qualche motivo più convincente per questa separazione?

+0

Quindi, se il progetto o la struttura viene modificata, non è necessario aggiornare l'altra metà (struttura o struttura). Oggi vuoi che le immagini abbiano 10px nei bordi, pochi mesi dopo ora vuoi che siano flottanti a sinistra e senza bordi. – GordonsBeard

+1

Bene, se comprendi il valore concettuale di mantenere lo stile HTML e lo stile visivo esterno (in CSS), allora potresti aver sostanzialmente risposto alla tua domanda. E questo non si addentra nemmeno nella semplicità di mantenere i fogli di stile per influenzare un cambiamento nell'aspetto di un intero sito senza colpire tonnellate di file HTML .. –

risposta

12
  • separazione degli interessi Ciò rende più facile sostituire gli stili senza cambiare il codice, o viceversa.Inoltre è possibile avere una persona che lavora su CSS e un altro a lavorare su contenuti

  • Non Repeat Yourself È possibile applicare uno stile a molti elementi senza dover ripetere più e più volte. Pagine più piccole significano tempi di caricamento più rapidi utilizzando meno larghezza di banda. Inoltre è più semplice da modificare in seguito, perché puoi modificarlo in un unico posto in un unico file, anziché in molti posti in molti file.

  • Cachability Se lo stesso foglio di stile viene utilizzato su ogni pagina del tuo sito, i browser possono scaricare una volta e poi in cache di esso, invece di scaricare gli stili con il contenuto di ogni singola pagina. E non dovranno scaricarlo nuovamente ogni volta che cambia il contenuto di quelle pagine.

  • più versioni E 'facile creare più versioni del layout visivo e l'aspetto del tuo sito dal momento che solo bisogno di scambiare il foglio di stile per modificare l'aspetto di ogni pagina. Ad esempio, puoi creare una versione white label di un'applicazione web che i tuoi partner possono ridigitare per abbinare il loro marchio. Vedi CSS Zen Garden per alcuni grandi esempi di quanto questo approccio possa essere flessibile.

+1

Risposta straordinaria grazie. – meawoppl

+1

Ciò che veramente mi preoccupa è: quanto sia difficile raggiungere questi obiettivi idealistici. Per esempio, come ti prendi cura dei nomi quando vuoi specializzare un piccolo bottone o etichetta all'interno di un contenitore che è profondamente annidato? Sto indovinando, una sorta di approccio allo spazio dei nomi deve essere usato? – Domi

+0

Ho qualche problema con questa risposta. Perché è la separazione delle preoccupazioni a mettere gli stili in un file diverso? entrambi sono elementi visivi. Non ripetere - concordato. Ma che dire di quegli elementi che sono una cosa unica? Che ne dici di leggibilità? se lo stile è nello stesso posto dell'HTML, posso immediatamente capire cosa sta succedendo. – YaDa

1

CSS dovrebbe essere un altro file incluso in HTML perché, se si desidera modificare uno stile di un elemento che è incluso in più di una pagina, si modificherà semplicemente uno stile da CSS e le modifiche verranno applicate a tutti i File. Se hai lo stile in HTML, dovresti andare sulle pagine uno per uno e cambiare lo stile. È un buon esempio di costruzione di modelli.

1

Separando markup e css. Puoi usare css per cambiare l'aspetto di tutto, senza intaccare il markup.

I vantaggi includono: Creazione di progetti diversi per lo stesso html. Dividere il lavoro all'interno di una squadra. Uno sviluppatore front-end può concentrarsi interamente sul css. Gli sviluppatori di back-end, non hanno problemi con il css. Più facile cambiare look in futuro. Più facile la migrazione del markup html a una nuova piattaforma o sistema di gestione dei contenuti in futuro.

2

Inizia con questo codice:

<ul> 
    <li style="color: blue;">One</li> 
    <li style="color: blue;">Two</li> 
    <li style="color: blue;">Three</li> 
    <li style="color: blue;">Four</li> 
</ul> 

Diciamo che oggi, si decide di cambiare il colore del collegamento al rosso. Dato che questi stili sono in linea, è necessario passare attraverso ogni elemento e modificare l'attributo style. Immagina di farlo per 10, forse 20 pagine HTML e vedrai perché questo diventa un problema.

utilizzo di un foglio di stile separa il contenuto:

<ul> 
    <li>One</li> 
    <li>Two</li> 
    <li>Three</li> 
    <li>Four</li> 
</ul> 

Dallo stile:

ul li { 
    color: blue; 
} 

Aveva è stato utilizzato un foglio di stile fin dall'inizio, cambiando il colore è semplice come cambiare blue-red in il tuo foglio di stile.

Oltre a semplificare lo stile del documento, esiste anche la specificità del selettore. Immaginate che avete ereditato il primo blocco di codice da uno sviluppatore precedente e vorrebbe cambiare di nuovo il colore, ma (essendo una bella sviluppatore) preferisce i fogli di stile:

ul li { 
    color: red; 
} 

Presto diventano frustrati e ricorrere all'utilizzo di !important , poiché i selettori non possono ignorare gli stili in linea.

Problemi correlati