Differenze tra le classi e gli ID
18 luglio 2008 7 commenti
Soprattutto quando nei primi studi in materia di sviluppo per il web, non vi è comune confusione tra le classi e gli ID, e utilizzato come necessario in XHTML, CSS e Javascript. Diversi tutorial su Internet spiegare alcuni punti fondamentali e fornire alcune linee guida, ma non molto spinto e illuminante. Il risultato: i dubbi persistono e la differenza tra l'ID e la classe non è ancora "desvendada". In questo articolo questo "mistero" giunge al termine! ;-)
ID e le classi sono "ganci"
Abbiamo bisogno di modi per descrivere il contenuto in documenti HTML / XHTML. Gli elementi di base come <h1>, <p> <ul> e spesso fare il lavoro, ma la base serie di tag non abragen tutte le possibilità di elementi o layout di pagina di scelte. Per questo, abbiamo bisogno di ID e classi.
<ul Id="nav">, ad esempio, dà l'opportunità di targeting per questa lista, allora vi è un modo per manipolare questo elenco solo per quanto riguarda gli altri non ordine elenchi di pagina. O si potrebbe avere una sezione sulla pagina che non ha alcuna rilevanza signifcar etichetta, per esempio, una nota a piè pagina, dove si potrebbe fare qualcosa di simile <div id="footer">. O forse abbiamo caselle nella barra laterale di tenere separato il contenuto in qualche modo: <div class="sidebar-box">.

Questi ID e le classi sono i "ganci" dobbiamo fare in marcatura a mettere le mani su di loro. CSS, ovviamente, ne hanno bisogno in modo che tu possa fare selettori e montare fogli di stile, ma altri linguaggi web, come javascript, dipendono anche da loro. Ma quali sono le differenze tra gli ID e le classi?
Gli ID sono unici
- Ogni elemento può avere solo un ID;
- Ogni pagina può essere solo un elemento che con ID.
Quando sei di apprendimento su di esso, è comune sentire che si dovrebbe usare solo gli ID di una volta, ma si può usare una classe più volte. In sostanza, si entra un orecchio e lasciando gli altri, perché suona più come un "regrinha" che qualcosa di veramente importante. Se si trattano solo con HTML / CSS, questo può accadere a te, troppo, perché davvero non sembrano fare niente di diverso.
Vai qui uno: il tuo codice vai non passare attraverso il validatore se si utilizza lo stesso ID a più di un elemento. Convalida dovrebbe essere importante per tutti noi, in modo che in sé è qualcosa di molto importante. Avanti, più motivi per cui un ID deve essere unico.
Le classi non sono uniche
- È possibile utilizzare la stessa classe per diversi elementi;
- È possibile utilizzare diverse classi per lo stesso elemento.
Tutte le informazioni di stile che deve essere applicato a più elementi in una pagina dovrebbe essere fatto con una classe. Prendete come esempio una pagina con diversi "widget":
<div Class = "widget"> </ div> <div class = "widget"> </ div> <div class = "widget"> </ div> Adesso, è possibile utilizzare la stessa classe "widget" come un gancio di applicare lo stesso insieme di stili per ciascuno di essi. Ma, se necessario, uno più grande di altri, ma continuare con uno stile che parti di altri attributi? È possibile applicare più di una classe di un elemento:
<div Class = "widget"> </ div> <div class = "widget big"> </ div> <div class = "widget"> </ div> Non vi è alcun bisogno di fare e di nominare una nuova classe qui, appena messo il nome del nuovo attributo di classe in classe, insieme con il nome della classe che è già lì. Le diverse classi sono delimitate da uno spazio e la maggior parte dei browser consente un numero qualsiasi di essi (in realtà, è più simile a migliaia, che è molto più di quanto sia effettivamente necessario).
Ci sono modelli di ID e le classi con qualsiasi browser
Mettere un nome, o ID di classe in un elemento, per impostazione predefinita non fa nulla di tale elemento.
Questo è qualcosa che intrigo che è principiante. Si lavora su un sito e scoperto che l'applicazione di una classe con un nome in particolare, risolve un problema che avete. Poi si sposta in un altro sito, con lo stesso problema, e cerca di risolvere il problema allo stesso modo, usando lo stesso nome, classe, pensando che il nome della classe di sé, ha alcune proprietà magiche, solo per scoprire che non funziona bene…
Le classi e gli ID non hanno alcun stile per se stessi. Abbiamo bisogno di guida e applicare stili CSS.
Barra di codici e numeri di serie

Forse la codici a barre e numeri di serie sono un buon analogia. Prendere un iPod, in un negozio. Nel pacchetto c'è un codice a barre. Egli sottolinea il negozio che questo prodotto è, una volta che è stato digitalizzato, il codice a barre informazioni che è esattamente ciò che di prodotto e il costo. Si può imparare da loro colore e la posizione del deposito in cui è stato mantenuto. Tutti i modelli di iPod hanno esattamente lo stesso tipo di codici a barre.
L'iPod ha anche un numero di serie che è assolutamente unico in materia di qualsiasi altro iPod (o altro dispositivo) in tutto il mondo. Il numero di serie non informa il prezzo. Si potrebbe, ma per il negozio che vende questo non sarebbe un modo efficace per archiviare e utilizzare tali informazioni. E 'molto più facile per l'utilizzo di un codice a barre, perché se, ad esempio, le variazioni di prezzo, abbiamo bisogno di cambiare soltanto il prezzo per questo bar-code, non il numero di serie di ciascun sistema.
Questo è molto simile a identificazioni e delle classi. Reusadas Informazioni che devono essere tenuti in una classe e le informazioni che sono completamente unico a essere mantenuto in un documento di identità.
ID sono una caratteristica speciale nei browser
Classi non hanno caratteristiche particolari nel browser, ma gli ID di avere un trucco molto speciale assi nella manica: un "valore di hash," per gli URL Se si dispone di un URL come http://seudominio.com # commenti, il browser vai cercare di trovare l'elemento con ID "commenti" e vai scorrere automaticamente la pagina fino ad arrivare tale elemento.
E 'importante notare che il browser vai scorrere la pagina in cui si desidera che l'elemento è, perciò, se vi è qualcosa di speciale, come un DIV con barra di scorrimento (CSS proprietà overflow con valore "auto" o "scorrere"), questo bar vai essere spostato per scorrere - scorrere verso il basso - troppo.
Questo è un motivo importante sul perché è importante avere un ID assolutamente unico. Con questo, il browser sa quando a rotolo.
Elementi possono avere entrambi, ID e Classi
Nulla per voi quando si utilizzano entrambi, ID e classi in un unico elemento. Infatti, così facendo, nella maggior parte dei casi è una buona idea. Prendete, ad esempio, il modello di marcatura per un elenco di elementi di commentare Wordpress:
<li Id = "comment-27299" class = "item"> Ha una classe che è stato applicato che forse si desidera utilizzare per estilizar tutti i commenti sulla pagina, ma non vi è un unico valore di ID (generati dinamicamente di Wordpress). Questo è facilmente possibile creare un link direttamente a un commento su una pagina in particolare.
CSS non mente
Sul CSS, non c'è nulla che puoi fare con un ID che non può che fare con una classe e viceversa. A volte, quando si inizia lo studio dei CSS e hai un problema, prova a passare tra l'utilizzo di ID o la classe di utilizzo. Il CSS non mente.
Javascript è importante
Coloro che si muove con javascript probabilmente sono già più in linea tra le differenze tra le classi e gli ID. Javascript dipende l'esistenza di un elemento della pagina con ID univoco, o la funzione comunemente utilizzati getElementById non siano affidabili. Quelli abituati a jQuery facile sapere come l'aggiunta e la rimozione classi di elementi della pagina. Si tratta di un nativo in funzione jQuery. Vedere che questa funzione non esiste per gli ID. Non è la responsabilità di javascript manipolare questi valori, perché potrebbe causare più problemi che sarebbe utile…
Se non hai bisogno di loro, di non utilizzare
Come potete vedere, le classi e gli ID sono molto importanti e che usiamo ogni giorno per estilizar pagine e manipolare ciò che è necessario. Tuttavia, si dovrebbe usare con discrezione e semanticamente.
Ciò significa evitare cose come ad esempio:
<a Href = "http://css-tricks.com" class = "link"> CSS Tricks.com </ a> Sappiamo già: questo elemento è un link, è un punto fermo. Non vi è nulla di speciale ci deve essere un punto di specificare una classe, dal momento che è possibile applicare l'etichetta nel loro stile (la "a").
Evitare questo tipo di cose, anche:
<div Id = "column-right"> L'ID è usato correttamente qui, perché, probabilmente, la pagina avrà un solo colonna di destra, ma il nome non è appropriato. Descrivere il contesto l'elemento, se non è o come sembrerebbe. Un ID "bar-side" sarebbe meglio.
Microformatos sono solo nomi specifici delle classi
Pensi che microformati è difficile per te? Microformato è solo marchio che fa uso regolare di standardizzato nomi di classi per le informazioni che contengono. Vedere questo vCard:
<div Class = "vcard"> <a class = "url fn org" href = "http://www.commerce.net/"> CommerceNet </ a> <div class = "adr"> <span class = " tipo "> Lavora </ span>: <div classe =" street-address "> University Avenue 169 </ div> <span classe =" località Palo Alto "> </ span>, <abbr class =" regione "title = "CA"> CA </ abbr> <span "postal-code"> class = 94301 </ span> <div class = "country-name"> Stati Uniti d'America </ div> </ div> <div class = "tel" > <span Class = "type"> lavoro </ span> 1-650-289-4040 </ div> <div class = "tel"> <span class = "type"> Fax </ span> 1- 650-289-4041 </ div> <div> Email: <span class = "email"> info@commerce.net </ span> </ div> </ div> 













Ottimo soggetto! Clara e obiettivo, congratulazioni!
@ Helaine
Grazie mille, Helaine! Come citato nell'articolo, queste differenze tra le classi e gli ID di generare molta confusione, e credo che questo materiale spiega molte cose.
Abraços e sembrano! ;-)
Ottimo sito completo e in questo post. Penso che se non avesse letto i suoi clienti nel post-partita ricca non avrebbe scoperto così presto.
In effetti, è bene sapere che scrive di essere molto buona su Internet in portoghese.
Abraço!
Maometto @
Grazie mille! Sono lieto di sentire che ti piace e spero che si scrive gli articoli che sono utili!
Sono già iscritto al feed di denaro è il tempo macchina e lo dico che il contenuto di essi sono di ottima qualità!
Abraços e grazie per la visita!
Trackback il 18 luglio, 2008
Trackback il 18 luglio, 2008
Trackback il 18 luglio, 2008