addo
¿Es posible nombrar sus propios elementos personalizados? <date>
, <person>
, <city>
u otros sin el uso de un guión? ¿Se pueden usar definir elementos sin ellos?
addo
Todos los navegadores admiten una lista finita de elementos HTML que se consideran “conocidos”. Elementos que son desconocidos (ej. <city>
, <person>
) generalmente no arrojan errores con el analizador HTML en los navegadores modernos y en su lugar heredan de HTMLUnknownElement
. Sin embargo, en versiones anteriores de IE, dichos elementos se insertarían en el DOM como un nodo vacío sin ningún elemento secundario (1).
El Elementos personalizados especificación requiere que todos los elementos personalizados contienen un guión (-
) en el nombre. Así que en lugar de <person>
usarías <my-person>
o <x-person>
. Estos son nombres válidos, mientras que <person
> se considera un elemento desconocido.
El guión permite efectivamente que el analizador de HTML indique la diferencia entre los elementos personalizados verdaderos y los elementos regulares. También nos permite habilitar un nivel de capacidad futura cuando los grupos de estándares agreguen nuevas etiquetas a HTML.
Puede usar cualquier nombre separado por guiones con la excepción de:
annotation-xml
color-profile
font-face
font-face-src
font-face-uri
font-face-format
font-face-name
missing-glyph
Que yo sepa, estos nombres son nombres reservados de SVG, MathML y otras especificaciones. Por ejemplo, aquí hay más información sobre el <font-face>
elemento.
(1) Esto dio lugar al truco en el que los desarrolladores crearían una etiqueta HTML5 ficticia en IE (p. ej. <article>
) usando JavaScript para que luego pudieran diseñarlo según cualquier elemento normal con CSS.
-
¿”Debe contener un guión” significa que un elemento personalizado puede comenzar con un guión? ¿Nadie sabe?
– Mateo Decano
1 mayo 2015 a las 20:47
-
Ojalá supiera esto antes de pasar 2 horas golpeándome la cabeza contra la pared tratando de hacer que el polímero funcione. Esto debe estar pegado en toda la página principal de cualquier documento, incluso si está estrechamente relacionado con elementos personalizados. Chrome/FF/Safari no arroja errores e incluso muestra el elemento en el árbol DOM, pero se niega a representar el html interno. Comportamiento horrible.
– Tyguy7
6 de febrero de 2016 a las 5:48
-
¿Puede un nombre de elemento personalizado contener dos guiones, por ejemplo, mi-elemento-personalizado?
– yglodt
01/08/2016 a las 21:20
-
Tenga en cuenta que aunque se supone que no debe crear nuevos elementos sin un guión en el nombre, aún funciona perfectamente bien en todos los navegadores modernos si lo hace.
– Gavin
31 de marzo de 2020 a las 13:20
-
@MatthewDean Un elemento personalizado NO PUEDE comenzar con un guión … ¡pero puede terminar con un guión! Así que esto no está permitido:
<-comp></-comp>
pero esto está permitido:<comp-></comp->
– dallin
17 de junio de 2022 a las 22:13