В некоторых случаях может показаться, что создание собственных имен тегов просто отлично работает.
Однако это всего лишь процедуры обработки ошибок вашего браузера на работе. И проблема в том, что разные браузеры имеют разные процедуры обработки ошибок!
См. Этот пример.
Первая строка содержит два готовых элемента, what
и ever
, и они обрабатываются разными браузерами по-разному. Текст в IE11 и Edge выходит красным, а в других браузерах - черным.
Для сравнения вторая строка похожа, за исключением того, что она содержит только допустимые элементы HTML, и поэтому она будет выглядеть одинаково во всех браузерах.
body {color:black; background:white;} /* reset */
what, ever:nth-of-type(2) {color:red}
code, span:nth-of-type(2) {color:red}
<p><what></what> <ever>test</ever></p>
<p><code></code> <span>test</span></p>
Другая проблема с вымышленными элементами состоит в том, что вы не будете знать, что ждет в будущем. Если вы создали веб-сайт пару лет назад с именами тегов, такими как picture
, dialog
, details
, slot
, template
и т. Д., Ожидая, что они будут вести себя как пролеты, у вас сейчас проблемы!