Можно ли создать тег с любым названием

«Можно ли создать тег с любым названием» — вопрос из категории HTML, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно создать кастомные HTML-теги с любыми названиями, но есть нюансы:

  1. Название должно содержать дефис (по спецификации Custom Elements), например:
<my-custom-element></my-custom-element>
  1. Для работы с кастомными тегами нужно зарегистрировать их через JavaScript:
class MyElement extends HTMLElement {
  constructor() {
    super();
    // логика элемента
  }
}
customElements.define('my-custom-element', MyElement);
  1. Без регистрации тег будет работать как обычный HTML-элемент, но без специального поведения.

  2. Не рекомендуется создавать теги без дефиса - они могут конфликтовать с будущими стандартными HTML-элементами.