¿Es correcto asignar un número como ID de un elemento en HTML?¿nos puede dar problemas?
La respuesta rápida: es correcto en HTML5 e incorrecto en las versiones anteriores. Y para la segunda pregunta, la respuesta es sí, nos puede dar problemas al tratar de asignarle estilos con CSS. Mejor no utilizarlo.
Diferencias entre HTML4.01 y HTML5
Según la especificación HTML4.01, un ID sólo puede empezar con una letra:
Las clases, sin embargo, no tienen esta restricción, no tienen que empezar por una letra para ser válidas.
HTML5 elimina también esta restricción para las IDs:
Las única limitaciones que impone para una ID es que no quede vacía y que no contenga espacios.
Válido para HTML pero no para CSS
El problema viene a la hora de intentar asignar estilos. En CSS los identificadores NO pueden empezar con un número. La siguiente definición no es válida y los estilos no se aplicarán:
#1 { border: 1px solid red; }
El '1' no es un identificador válido para CSS ( CSS2.1 identifiers es la especificación referenciada por CSS3 a la hora de definir los ID válidos ):
Con las clases tenemos el mismo problema, tampoco sería válido como identificador de clase. Ninguno de los siguientes estilos se aplicaría:
.1 { border: 1px solid red; } #33wrapper { background-color: blue; } .2box { margin: 0 auto; }
Por lo tanto, pueden usarse si sólo utilizamos la ID para seleccionar el elemento con JavaScript, pero es mejor no utilizarlo si vamos a dar estilos CSS basandonos en esa ID.
Fuentes:
What are valid values for the id attribute in HTML?
CSS character escape sequences
No hay comentarios:
Publicar un comentario