HTML输入标记语法

Bol*_*boa 1 html forms

我觉得这可能已经得到了答案,但我找不到类似的问题.一些更有经验的程序员告诉我,以下是不正确的语法:

<input type=...> Name </input>
Run Code Online (Sandbox Code Playgroud)

并且以下是正确的语法:

<input type=..../>
Run Code Online (Sandbox Code Playgroud)

我从来不知道这一点,我总是使用第一个片段,从未遇到任何我所知道的问题.有人可以解释为什么第一个是不正确的,为什么它仍然有效?它是由浏览器获救,还是只是一个样式问题?关于上述语法的任何解释都是可以接受的,因为下次我被要求编写html代码时,我不想冒险看起来像菜鸟.

Que*_*tin 6

有人可以解释为什么第一个是不正确的

不允许输入元素具有子节点,关于输入的所有内容都由其属性描述.要将标签与输入相关联,请使用<label>元素.

为什么它仍然有效?

浏览器旨在应对不良输入.它们忽略未打开的元素的结束标记.