La especificación HTML dice
Los tokens de ID y NAME deben comenzar con una letra ([A-Za-z]) y pueden ir seguidos de cualquier número de letras, dígitos ([0-9]), guiones ("-"), guiones bajos ("_") , dos puntos (":") y puntos (".").
Y aunque la declaración SGML de HTML 4 usa el valor 65536 para NAMELEN, señala "Evite límites fijos".
Pero seguramente los navegadores, las implementaciones de CSS y los kits de herramientas de JavaScript deben tener algunos límites en la longitud que admiten. ¿Cuál es el límite más pequeño que es seguro de usar en una aplicación HTML / CSS / JS?
javascript
html
css
PAUSA del sistema
fuente
fuente
Respuestas:
Recién probado: 1 millón de caracteres funciona en todos los navegadores modernos: Chrome1, FF3, IE7, Konqueror3, Opera9, Safari3.
Sospecho que incluso las identificaciones más largas podrían volverse difíciles de recordar.
fuente
Un límite práctico, para mí, es cuánto tiempo puedo almacenar en mi cabeza durante el tiempo que trabajo con HTML / CSS.
Este límite suele estar entre 8 y 13 caracteres, dependiendo de cuánto tiempo haya estado trabajando y si los nombres tienen sentido en el contexto del elemento.
fuente
A veces termino con identificaciones muy largas, pero las nombro consistentemente para que coincidan con su propósito exacto.
Por ejemplo...
<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 -->
Como puede ver, los selectores ocasionalmente son bastante largos. Pero es mucho más fácil en mi humilde opinión que trabajar con algo como YUI grids.css donde terminas con ID como #doc, #bd, # yui-main, etc.
fuente
Si esta es una pregunta académica, es bastante interesante ... pero en lo que respecta a las mejores prácticas, no debería necesitar, o querer, estirarlas. Si necesita almacenar datos sobre un elemento HTML, es mejor ponerlo en un atributo del objeto DOM.
fuente