[英]Closing tags in HTML5
在 HTML5 中用<br />
關閉<br>
標簽仍然合適嗎?
這顯然也適用於所有其他單個標簽。 我意識到這實際上並不影響東西的工作方式,但這里的最佳實踐是什么?
someLines of txt <br> // How you see a lot of people doing it
and then some <br /> // XHTML style! Should I still be doing this?
ow im not done yet.. <br> </br> // No one does this right? RIGHT?!
以下是 HTML 中 void 元素的完整列表:
area
, base
, br
, col
, command
, embed
, hr
, img
, input
, keygen
, link
, meta
, param
, source
, track
, wbr
void 元素只有一個開始標簽; 不得為空元素指定結束標記。
開始標簽由以下部分組成,完全按照以下順序:
<
字符。/
字符,它可能只在元素是空元素時出現。>
字符。 由此看來,我們可以使用<br>
或<br/>
。 然而,結束標記</br>
是無效的,所以不要用<br> </br>
。
通過HTML 驗證服務運行以下內容表明了這一點。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Testing void elements</title>
</head>
<body>
some lines of txt <br>
and then some more <br />
I'm not done yet... <br> </br> <!-- This line generates an error -->
</body>
</html>
所以使用<br>
或<br/>
,只要確保你一致地使用它們。
編輯:正如 Brad 所指出的, <br />
也是有效的 XHTML,所以也許最好選擇這種形式。
恕我直言,我認為最好遵守 XHTML 標准,甚至關閉@Alex 指出的所謂的void
元素。 如果您的代碼也是有效的 XML,那么您可能會找到更好的工具支持來管理您的代碼
<br> // not valid XML without a closing tag
<br /> // valid XML and I prefer this
<br></br> // valid XML but unnecessary clutter
無論如何,如果您應該通過HTML 驗證服務運行您的代碼。 只要它是有效的,那么你就只處理編碼風格,每個人在這個問題上都會有自己的個人傾向。
[編輯]
為了澄清我的答案,我建議使用這些XHTML
標頭中的任何一個...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果您正在為 HTML5 編碼,那么客戶端/瀏覽器應該支持嚴格的標准
更重要的是你保持一致,如果你使用<!DOCTYPE html>
那么像一些人所說的那樣無效或自關閉的標簽將由解析器為你處理。
決定一種方法並堅持下去,我們決定使用 xhtml 風格的語法,但我們實際上並不使用 xhtml。 即使解析器對需要能夠理解您的標記的其他人更寬容,所以如果您有一個標准並且每個人都認同這一點,那么每個人都在唱同一張贊美詩。
為什么我們需要約定? 因為以下所有內容都是有效的:
<META CHARSET=UTF-8>
<META CHARSET=UTF-8 />
<META CHARSET="UTF-8">
<META CHARSET="UTF-8" />
<meta charset=utf-8>
<meta charset=utf-8 />
<meta charset="utf-8">
<meta charset="utf-8" />
<MeTa CHARset=utF-8>
另一件要考慮的事情是 html5 屬性,我們決定在一組屬性的末尾使用布爾樣式屬性,並始終在其他屬性周圍使用引號,例如:
<video id=“vid1” data-someting="my_val" controls>
這樣我們就不必使用冗余語法(在我看來):
<video id=“vid1” controls="controls">
僅僅因為 html5 允許我們省略結束標記,甚至是</p>
標記,它並沒有使它正確。
我希望您決定使用 xhtml 'sytle' 語法以保持您的理智!
/
在 html 5 中對於void 元素有效並被忽略,其中br
是其中之一,所以這完全取決於你,盡管我個人會擺脫這種習慣,因為它是一個遺留的東西。 (事實上它是一個空元素意味着正如你所說; <br> </br>
是荒謬的)
從鏈接的文章中了解 自閉合標簽后,我開始知道<br>
、 <br/>
或<br />
在 HTML5 中都有效。
但是如果你寫<br/>
或<br />
那么它們最終會被瀏覽器轉換成 HTML5 中的<br>
。
此外,如果您編寫<br></br>
它們的瀏覽器不會產生一些錯誤,但會將其讀取為 2 個<br>
標簽。
someLines of txt <br> // This is completly valid and recommended
and then some <br /> // XHTML style! should be written like this in XHTML but in HTML5 you can just write <br>
ow im not done yet.. <br> </br> // Even if you do this then no error will generate. Instead browser will read it as 2 <br> tags
方法如下:
<p>This is paragraph with <br><br> and <br/><br/> and then <br /><br />.</p>
<p>closing br is wrong way <br></br> but browser read it as 2 br.</p>
它在瀏覽器中的外觀:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.