未配对的<form>标签</form>

时间:2014-02-14 17:48:11

标签: html css html5 forms

我不明白,为什么不成对的&lt; form&gt;标签的行为就像那样。我一直期望CSS选择器只能应用于&lt; form&gt;。但它适用于未配对的&lt; form /&gt;之后的所有内容。你能解释一下吗?提前谢谢你:)

<style>
  form { font-size: 20px; color: red; }
</style>

<form id="a">
  <label>Styled label inside &lt;form&gt;</label>
</form>

<p>
  Unstyled text, outside &lt;form&gt;, inside &lt;p&gt;
</p>

<form id="search" action="search.php" method="post" />

<label>Label after unpaired &lt;form /&gt;</label>
<br />
<input form="search" type="text" />
<input form="search" type="submit" value="Search" />

<p>
  Text after unpaired &lt;form /&gt;, inside &lt;p&gt;. Why is it styled?
</p>
编辑:我编辑了代码;之前有一个不好的例子。在某处我看到了使用未配对的&lt; form /&gt;的示例作为控制的“表”。

例如,您有两个未配对的&lt; form /&gt;:

<form id="order" action="order.php" method="post" />
<form id="search" action="search.php" method="get" />

首先是发送订单,第二是搜索。页面上的某些控件将使用“order”&lt; form /&gt;,其他控件使用“search”&lt; form /&gt;。它们与正确的&lt; form /&gt;相关联。使用表单属性。

1 个答案:

答案 0 :(得分:0)

首先,将表单标记更改为&lt; / form&gt;。

你为什么期待那个?需要正确关闭HTML标记,以便浏览器可以呈现元素。是的,浏览器对于未关闭的HTML标记并不是那么严格,但是最佳实践表明应该关闭正文中的所有标记。