web-dev-qa-db-fra.com

Classe ou ID sur l'étiquette du corps

J'ai récemment appliqué un identifiant à la balise body de mes documents HTML pour permettre un meilleur contrôle CSS (# 9) . Je me suis récemment rendu compte que je pouvais faire exactement la même chose en appliquant une classe à la balise body. Je veux connaître les aspects positifs et négatifs de chaque choix. Si j'ai plusieurs pages dont la balise body a le même identifiant, est-il préférable d'utiliser une classe? Qu'est-ce que tu penses? Pourquoi?

UPDATE: La classe/ID est essentiellement ce que j'ai l'intention d'utiliser pour identifier dans la feuille de style la page ou le type de page auquel la feuille de style est appliquée. Par exemple, s'agit-il de la page d'accueil, de la page de contact, de l'une des nombreuses pages de résultats de recherche, d'une page d'archive, etc.?

20
Jo Sprague

Utiliser une classe est parfaitement acceptable, peut-être plus que d'utiliser un identifiant. L'utilisation des identifiants doit être limitée autant que possible, car ils peuvent entrer en conflit avec d'autres identifiants et casser des choses comme document.getElementById.

Un sélecteur d'identifiant est plus spécifique qu'un sélecteur de classe, ce qui en fait généralement un meilleur choix pour votre cas d'utilisation . - David Dorward

Cependant, une "spécificité" élevée n'est pas toujours souhaitable. Pensez à body#faq #col_b a {color:gray;} dans la feuille de style principale, puis une personne développe un plugin avec un arrière-plan gris qui passe sur la page faq. Désormais, ils doivent utiliser !important ou créer un autre attribut id pour donner une plus grande spécificité.

En outre, envisagez l’utilisation de plusieurs classes dans un même élément body:

<body class="faq two_column big_footer"> ...
20
Dagg Nabbit

Un sélecteur d'identifiant est plus spécifique qu'un sélecteur de classe, ce qui en fait généralement un meilleur choix pour votre cas d'utilisation.

4
Quentin

L'ID doit être unique par page (si vous voulez un balisage valide), ce qui signifie qu'une seule instance d'un ID particulier doit exister sur une page.

Les classes, en revanche, peuvent être appliquées à de nombreux éléments par page. Utilisez des classes pour des choses qui réutilisent les mêmes styles et des ID pour des éléments plus uniques nécessitant leur propre style.

Idéalement, utilisez des classes autant que possible et limitez l'utilisation d'identifiants.

Pour plus d'informations sur l'ID, voir ici , et plus sur les classes, voir ici .

2
Tyler Treat

Il est préférable d'utiliser une classe si vous envisagez de réutiliser un style dans les pages. Les ID sont bons si la feuille de style est conçue pour une page spécifique. Mais cela dépend toujours de votre application. 

1
shaans

En HTML5, l'attribut id peut être utilisé sur n'importe quel élément HTML (il sera validé sur n'importe quel élément HTML. Cependant, ce n'est pas nécessairement utile).

En HTML 4.01, l'attribut id ne peut pas être utilisé avec: <base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.

Remarque: HTML 4.01 impose des restrictions plus importantes sur le contenu des valeurs id (par exemple, les valeurs id HTML 4.01 ne peuvent pas commencer par un nombre).

Source: W3School

0
Mahdi Jazini

Vous pouvez (lire: devrait) utiliser uniquement l'ID de la balise body.

ID = usage unique par page

Classe = usages multiples

1 balise body = 1 balise id. Cela peut être le même sur différentes pages. Pour l’essentiel, l’utilisation de la balise de classe est probablement excessive.

0
Nelga