2014-02-14 27 views
0

我不明白,爲什麼一個不成對的<表格>的行爲就像這樣。我一直期待該CSS選擇器將僅適用於<表格>。但它適用於未配對的<表格/ >之後的所有內容。你能解釋一下嗎?預先感謝您:)不成對<form>標籤

<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> 

編輯:我已編輯的代碼;之前有一個不好的例子。在某處我看到使用未配對的<表格/ >作爲控件的「表單」的示例。

例如,你有兩個未成<形式/ >:

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

首先是發送訂單,第二個用於搜索。頁面上的某些控件將使用「訂單」<表格/ >,其他「搜索」<表格/ >。它們與表格屬性表格/ >連接。

+7

所以你想知道爲什麼你用無效的HTML獲得意想不到的結果? – j08691

+0

表單標記不是自動關閉的。 –

+2

我不認爲我們應該多投一票 - 這個用戶會聽到這個消息。相反,試着幫助他/她,讓他/她成爲好公民。 – carousel

回答

0

首先,將您的標籤更改爲</form>。

你爲什麼期待? HTML標籤需要正確關閉,以便瀏覽器可以呈現元素。是的,當談到未封閉的HTML標籤時,瀏覽器並不那麼嚴格,但最佳實踐表明,所有標籤內部的標籤都應該關閉。