IE9错误与可选</ p>关闭

Ish*_*Ish 2 html css internet-explorer-9

我在IE9中尝试了这个代码,出乎意料的是它因为</p>标题后丢失而被搞砸了.

现场演示

<style>
#MyForm div {
    width: 200px;
    height: 30px;
    float: left;
}
</style>
<div>
    <p><b>Login</b>
    <form id="MyForm" action="test.html">
        <div>
            <label>My Email</label>
            <input />
        </div>
        <div>
            <label>My Password</label>
            <input type="password">
        </div>
    </form>
</div>
Run Code Online (Sandbox Code Playgroud)

这是一个bug还是只是我?

更新

根据W3C,块级元素在"p"标记内无效

<P>
    <DIV>...</DIV>
</P>
Run Code Online (Sandbox Code Playgroud)

但是关闭<p>标签是可选的,

<p>content block 1
<p>content block 2
<p>content block 3
<form> ..... </form>
Run Code Online (Sandbox Code Playgroud)

这似乎有效.<p>如果没有像第一个示例中那样明确关闭,则块元素应自动关闭.

Que*_*tin 6

这似乎是一个IE9错误.

在进行了一些更多测试(并<span>在表单中添加了一些内容)之后,在IE9标准模式下,看起来IE9无法识别出a <form> 不允许作为a的后代<p>但是确认a <div>也是不允许的.

因此它插入元件作为p元素节点的后代,直到它遇到的第一个<div>,在该点它终止<form> 所述<p>,然后插入形式身体的其余部分的形式.

当它遇到</form>它时,它将它视为非开放元素的结束标记并忽略它.