84 votes

Qu'est-ce qu'une longueur maximale pratique pour HTML id?

La spécification HTML dit

L'ID et le NOM de jetons doit commencer par une lettre ([A-Za-z]) et peut être suivi par n'importe quel nombre de lettres, de chiffres ([0-9]), des tirets ("-"), des traits de soulignement ("_"), deux-points ( " :") et des points (".").

Et même si la déclaration SGML HTML 4 utilise la valeur 65536 pour NAMELEN, il note "Éviter fixe des limites".

Mais sûrement, les navigateurs, les CSS de mise en œuvre, boîtes à outils JavaScript doit avoir certaines limites sur la longueur qu'ils soutiennent. Quel est le plus petit de la limite qui est sûr à utiliser dans un code HTML/CSS/JS application?

206voto

phihag Points 89765

Vient de tester: 1M caractères fonctionne sur tous les navigateurs modernes: Chrome1, FF3, IE7, Konqueror3, Opera9, Safari3.

Je soupçonne que même les identifiants plus longs pourraient devenir difficiles à retenir.

14voto

Nick Presta Points 13298

Une limite pratique, pour moi, est cependant un identifiant que je peux garder longtemps dans ma tête pendant que je travaille avec HTML / CSS.

Cette limite est généralement comprise entre 8 et 13 caractères, en fonction de la durée de mon travail et de la pertinence des noms dans le contexte de l'élément.

2voto

Mark Hurd Points 8193

Parfois, je vais me retrouver avec de très longs identifiants, mais je les nomme systématiquement pour correspondre à leur objectif exact.

Par exemple...

 <div id="page">
    <div id="primary-content"></div>
    <div id="secondary-content"></div>
    <div id="search-form-and-primary-nav-wrapper">
        <form id="search-form"></form>
        <ul id="primary-nav">
            <li id="primary-nav-about-us"></li>
        </ul>
    </div>
    <a id="logo"><img /></a>
</div><!-- /#page -->
 

Comme vous pouvez le constater, les sélecteurs sont parfois assez longs. Mais c'est tellement plus facile à mon humble avis que de travailler avec quelque chose comme YUI grids.css où vous vous retrouvez avec des ID tels que #doc, #bd, # yui-main, etc.

1voto

bigmattyh Points 9167

S'il s'agit d'une question académique, c'est plutôt intéressant ... mais en ce qui concerne les meilleures pratiques, vous ne devriez pas avoir besoin - ou vouloir - de les développer. Si vous avez besoin de stocker des données sur un élément HTML, il est préférable de le mettre dans un attribut de l'objet DOM.

-4voto

Vordreller Points 1120

La plus petite de ces limites?

La plupart des navigateurs et des contenus de nos jours sont assez puissants dans ce domaine et les informations que vous demandez ne correspondent pas exactement aux informations que les gens demandent tous les jours. Une recherche Google ne les affiche donc pas.

J'irais pour 255 juste pour être en sécurité ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X