Living Standard (он же текущая версия официальных веб-стандартов) утверждает, что тег <input>
может иметь следующее содержимое: Nothing .
Этот типтегов также называют «пустые теги» , «пустые элементы» или «пустые теги» .Полный список можно найти здесь .Они не могут иметь никакого контента, включая pseudo-elements
.
Понятия не имею, почему и когда Chrome начал разрешать контент на <input>
, но, согласно Живому стандарту, этого не должно быть.Нормальное, ожидаемое таким образом поведение - это одно из двух других браузеров.
Если вы хотите, чтобы ваш код работал во всех браузерах, обязательным условием является наличие действительной разметки.
Я должен также добавить, что, в принципе, даже если браузер в настоящее время более разрешающий, чем другиес особым типом инвалидности, достойный разработчик не должен ожидать, что это продлится долго.Если стандарт не изменится, вы должны ожидать, что Chrome не разрешит контент в <input>
s в ближайшее время.