我不明白,为什么不成对的< form>标签的行为就像那样。我一直期望CSS选择器只能应用于< form>。但它适用于未配对的< form />之后的所有内容。你能解释一下吗?提前谢谢你:)
<style>
form { font-size: 20px; color: red; }
</style>
<form id="a">
<label>Styled label inside <form></label>
</form>
<p>
Unstyled text, outside <form>, inside <p>
</p>
<form id="search" action="search.php" method="post" />
<label>Label after unpaired <form /></label>
<br />
<input form="search" type="text" />
<input form="search" type="submit" value="Search" />
<p>
Text after unpaired <form />, inside <p>. 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;相关联。使用表单属性。
答案 0 :(得分:0)
首先,将表单标记更改为&lt; / form&gt;。
你为什么期待那个?需要正确关闭HTML标记,以便浏览器可以呈现元素。是的,浏览器对于未关闭的HTML标记并不是那么严格,但是最佳实践表明应该关闭正文中的所有标记。