Les différences entre les classes et les identifiants
Juillet 18, 2008 7 commentaires
Surtout quand, au début des études sur le développement pour le Web, il est commun de confusion entre les classes et des identifiants et utilisés selon les besoins en XHTML, CSS et Javascript. Plusieurs tutoriels sur l'Internet expliquer certains points fondamentaux et fournir des orientations, mais rien de très complet et éclairant. Le résultat: les doutes persistent et que la différence entre ID et la classe n'est pas encore "desvendada." Dans cet article, ce «mystère» à la fin! ;-)
Identifiants et les classes sont des "crochets"
Nous avons besoin de moyens pour décrire le contenu dans les documents HTML / XHTML. Les éléments de base comme <h1>, <p> <ul> et souvent faire le travail, mais la configuration de base de balises abragen pas toutes les possibilités d'éléments ou de mise en page de choix. Pour cela, nous avons besoin d'identifiants et des classes.
<ul Id="nav"> Par exemple, il donne une occasion de cibler cette liste, il est un moyen de manipuler cette liste seulement en ce qui concerne les autres listes ordonnées de la page. Ou nous pourrions avoir une section sur la page qui n'a pas de pertinence signifcar tag, par exemple, une note de bas de page, où nous pourrions faire quelque chose comme <div id="footer">. Ou peut-être nous avons cases dans la barre latérale de la tenir séparer le contenu d'une certaine façon: <div class="sidebar-box">.

Ces identifiants et les classes sont les "crocs" nous devons faire dans le marquage de mettre leurs mains sur eux. CSS évidemment besoin afin que vous puissiez faire monter de sélecteurs et de feuilles de styles, mais d'autres langues Web, javascript, également en dépendent. Mais quelles sont les différences entre les identifiants et les classes?
Sont des identifiants uniques
- Chaque élément ne peut avoir un ID;
- Chaque page peut être seulement un élément de cette identité.
Lorsque vous êtes en train d'apprendre à ce sujet, il est courant d'entendre que l'on ne devrait utiliser les identifiants une fois, mais vous pouvez utiliser une classe à plusieurs reprises. Fondamentalement, nous entrons dans une oreille et laissant les autres, parce que cela semble plus comme un "regrinha" que quelque chose de très important. Si vous ne traitent que de HTML / CSS, cela peut vous arriver aussi, parce que vraiment ils ne semblent pas faire quoi que ce soit différent.
Voici un vai: votre code vai pas passer à travers le validateur si vous utilisez le même ID sur plus d'un élément. La validation devrait être important pour nous tous, de sorte que, en soi, est quelque chose de très important. À venir, plus de raisons pour lesquelles une pièce d'identité doit être unique.
Les cours ne sont pas uniques
- Vous pouvez utiliser la même classe de plusieurs éléments;
- Vous pouvez utiliser plusieurs classes pour le même élément.
Toute information de style qui doivent être appliquées à plusieurs éléments sur une page doit être fait avec une classe. Prenons comme exemple une page avec plusieurs "widgets":
<div class = "widget"> </ div> <div class = "widget"> </ div> <div class = "widget"> </ div> Maintenant, vous pouvez utiliser la même classe "widget" comme un crochet à appliquer le même ensemble de styles de chacun. Mais, si un besoin plus grand que l'autre, mais continuer avec un style que la part relative des autres attributs? Vous pouvez appliquer plus d'une classe à un élément:
<div class = "widget"> </ div> <div class = "widget big"> </ div> <div class = "widget"> </ div> Il n'est pas nécessaire de faire et nommer une nouvelle classe ici, il suffit de mettre le nom du nouvel attribut de classe dans la classe, ainsi que le nom de la classe qui est déjà là. Les différentes classes sont limitées par l'espace et la plupart des navigateurs permettent un nombre quelconque d'entre eux (en fait, est plus comme des milliers, ce qui est beaucoup plus que ce qui est réellement nécessaire).
Il ya des modèles des pièces d'identité et de classes dans tout navigateur
Mettre un nom ou d'un ID de classe dans un élément, par défaut ne fait rien de cet élément.
C'est quelque chose que l'intrigue qui est débutant. Vous travaillez sur un site et que la demande d'une classe avec un nom en particulier résout un problème que vous avez. Puis vous passez à un autre site, avec le même problème, et tente de fixer la même façon, en utilisant le même nom, la classe, en pensant que le nom de la classe par elle-même, certains biens magique, pour découvrir que ne fonctionne pas bien…
Les classes et les identifiants n'ont pas de style pour eux-mêmes. Nous avons besoin pour orienter et appliquer les styles CSS.
Codes de Barra et des numéros de série

Peut-être les codes à barres et les numéros de série sont une bonne analogie. Prendre un iPod, dans un magasin. Dans le pack il est un code-barres. Il fait au magasin que ce produit est, en quelque sorte lorsqu'il est scanné, le code-barres que l'information est exactement ce produit et le coût. Vous pouvez apprendre par leur couleur et l'emplacement de l'entrepôt dans lequel il a été retenu. Tous les iPods ont exactement le même type de code-barres.
L'iPod a également un numéro de série est absolument unique en son genre en ce qui concerne toute autre iPod (ou autre dispositif) à travers le monde. Le numéro de série n'est pas informé le prix. Il pourrait, mais pour le magasin qui vend ce ne serait pas un moyen efficace de stocker et utiliser cette information. Il est beaucoup plus facile à utiliser un code à barres parce que si, par exemple, les variations de prix, il suffit de modifier le prix de ce bar-code, pas le numéro de série pour chaque système.
Ceci est très similaire à des identifiants et des classes. Reusadas information nous voulons être conservés dans une classe et d'information qui sont complètement unique en son genre à être maintenu dans un identifiant.
ID sont une particularité dans les navigateurs
Les classes n'ont pas de caractéristiques particulières dans le navigateur, mais les identifiants ont une très spécial tour dans son sac: une "valeur de hachage", pour les URL Si vous avez une URL comme http://seudominio.com # de commentaires, le navigateur va essayer de trouver l'élément dont l'ID est "commentaires" et va automatiquement faire défiler la page jusqu'à ce que vous obtenez cet élément.
Il est important de noter que le navigateur va faire défiler la page sur laquelle vous voulez que l'élément est, si il ya quelque chose de spécial, comme une barre de défilement avec DIV (CSS dépassement de la valeur de la propriété par "auto" ou "scroll"), ce bar va être déplacé pour faire défiler - défiler vers le bas - trop.
C'est une raison importante sur les raisons pour lesquelles il est important d'avoir une identité absolument unique en son genre. Avec cela, le navigateur sait quand à rouler.
Les éléments peuvent avoir deux, ID et classes
Rien pour vous lorsque vous utilisez les deux, ID et les classes en un seul élément. En effet, et ce dans la plupart des cas est une bonne idée. Prenons, par exemple, le modèle de marquage pour une liste des questions à formuler des observations sur Wordpress:
<li id = "comment-27299" class = "item"> Il a une classe qui a été appliqué peut-être que vous voulez utiliser pour estilizar tous les commentaires sur la page, mais il est une valeur unique d'identité (générées dynamiquement par Wordpress). Cela est facilement possible de faire un lien vers un commentaire sur une page en particulier.
CSS ne pas l'esprit
Sur la CSS, il n'ya rien que vous pouvez faire avec un compte qui ne peuvent pas faire avec une classe et vice-versa. Parfois, au démarrage de l'étude de CSS et vous avez un problème, essaie de passer entre l'utilisation ou l'utilisation ID classe. Le CSS ne pas l'esprit.
Javascript est important
Ceux qui se déplace avec javascript sont probablement déjà plus en ligne de démarcation entre les différences entre les classes et les identifiants. Javascript dépend de l'existence d'un élément de page avec identifiant unique, ou la fonction couramment utilisé getElementById ne serait pas fiable. Ces habitués à jQuery savoir comment facile d'ajouter et de supprimer les catégories d'éléments de la page. Il s'agit d'une fonction native dans jQuery. Voir à ce que cette fonction n'existe pas pour l'utilisateur. Ce n'est pas la responsabilité de javascript manipuler ces valeurs, car cela risque de créer plus de problèmes qu'il serait utile…
Si vous n'avez pas besoin d'eux, de ne pas utiliser
Comme vous pouvez le voir, les classes et les identifiants sont très importantes et nous les utilisons tous les jours pour estilizar pages et de manipuler ce qui est nécessaire. Cependant, vous devez les utiliser avec discrétion et sémantiquement.
Cela signifie éviter des choses comme:
<a href = "http://css-tricks.com" class = "link"> CSS-Tricks.com </ a> Nous savons déjà: cet élément est un lien, est une ancre. Il n'ya rien de spécial ici doit être un point de spécifier une classe, dans la mesure où il est possible d'appliquer la balise dans leur propre style ( "a").
Éviter ce genre de choses, trop:
<div ID = "coluna-direita"> L'ID est utilisé correctement ici parce que, probablement, la page n'aura qu'une seule colonne de droite, mais le nom est inapproprié. Décrire le contexte de l'élément, pas où il est ou comment il semblerait. Un ID "bar-côté" serait préférable.
Microformatos ne sont que des noms de classes
Pensez-vous que les microformes est difficile pour vous? Microformato est tout marquage qui fait un usage régulier de la normalisation des noms de classes pour les informations qu'ils contiennent. Voir ce vCard:
<div class = "vcard"> <a class = "fn org url" href = "http://www.commerce.net/"> CommerceNet </ a> <div class = "adr"> <span class = " type "> Work </ span>: <div "street-address" classe => 169, avenue University </ div> <span class = "locality"> Palo Alto </ span>, <class = abbr" région "title = "CA"> CA </ abbr> <span "postal-code"> class = 94301 </ span> <div class = "country-name"> États-Unis </ div> </ div> <div class = "tel" > <span Class = "type"> Work </ span> 1-650-289-4040 </ div> <div class = <span "tel"> class = "type"> Télécopieur </ span> 1- 650-289-4041 </ div> <div> Courrier électronique: class = <span "email"> info@commerce.net </ span> </ div> </ div> 








Excellent sujet! Clara et objectif, félicitations!
@ Helaine
Merci beaucoup, Helaine! Comme indiqué dans l'article, ces différences entre les identifiants et les classes de générer beaucoup de confusion, et je crois que ce document explique beaucoup de choses.
Abraços et apparaissent! ;-)
Excellent site complet et à ce poste. Je pense que s'il n'avait pas connaissance de son hôte dans l'après-match riche n'aurait pas découvert si tôt.
Il est en effet bon de savoir qui écrit à être très bonnes sur l'Internet en portugais.
Abraço!
Muhammad @
Merci beaucoup! Je suis heureux d'apprendre que vous aimez et nous espérons que vous écrivez des articles qui sont utiles!
Je suis déjà abonné au flux de l'argent est temps machine et je dis que le contenu d'entre eux sont de très grande qualité!
Abraços et merci de votre visite!
Trackback sur Juillet 18, 2008
Trackback sur Juillet 18, 2008
Trackback sur Juillet 18, 2008