2011-06-21 66 views
10

我的同事並不真正瞭解或理解html。她的工作是向CMS輸入信息,我注意到她一直關閉她的<hr />標籤,如<hr></hr>元素<hr />是否有結束標記?

我有一個谷歌,但我找不到任何地方說這不被允許或可能導致問題。我知道它應該是<hr />,但值得告訴她,還是不必要但是有效的標記?

NB我們網站的文檔類型是 XHTML 1.0 Transitional如果這有什麼區別。

編輯

@Jeff了有關驗證一個好主意。我用下面的代碼,顯然這是有效XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <hr></hr> 
    </body> 
</html> 
+3

你有沒有試過驗證它? http://validator.w3.org/ – Jeff

+0

說實話,整個網站是一團糟,遠遠沒有驗證。他們最擔心的是「


」。 – MrMisterMan

回答

26

OK,<hr></hr>實際上是一個有效的XHTML 1.0,太。

所以,XHTML 1.0:

  • <hr />有效
  • <hr></hr>有效
  • <hr>有效

...爲HTML 4.0:

  • <hr />有效
  • <hr></hr>有效
  • <hr>是有效的,因此

的最佳選擇是使用<hr />,這始終是有效的。

+2

-1'


'___is___ [valid XHTML 1.0](http://validator.w3.org/check)。 – kba

+0

你是對的,編輯。 – Tsar

9

HTML 4 says

開始標記:需要結束標記:禁止

而作爲XHTML基本上意味着,HTML標籤需要關閉標籤,我會說<hr />是你應該考慮的唯一格式。

正如其他人所說,<hr></hr>是有效的XHTML(they even use it as example),但出於兼容性的原因,我不會使用它。

+0

SGML-y的答案是'


'相當於'
' - SGML聲明的整個WWW擴展都添加了「NETENABL IMMEDNET」子句。實際的問題是你的目標瀏覽器是否會理解你。唉,這與SGML無關:-( –

+0

我只會使用'


',但由於我們使用的是一個xhtml文檔類型,如果我一直挑選她的html,她可能會真的生氣我是否值得改變? – MrMisterMan

+0

@MrMisterMan:我不知道,我會的,擁有帶有開始和結束標籤的空元素會增大文檔的大小(儘管可能沒有那麼多) –

3

<hr />僅僅是<hr></hr>的簡寫;兩者都可以在XHTML文檔中使用。但是,在HTML文檔中都不能接受,其中應該使用<hr>,而這在XHTML中是無效的。

0

據我所知,沒有關閉hr標籤。標籤純粹是自動關閉的,Doc Type Definition會反映這一點。

1

<hr />不應該有結束標籤。

這是無效的HTML。

有效的XML,因此在技術上它是有效的xhtml,但即使您使用的是xhtml,您仍然不應該使用它。

這是因爲所有的瀏覽器甚至在渲染xhtml代碼時都使用其HTML解析器,因此關閉</hr>標籤被視爲錯誤。某些瀏覽器甚至可能會將其誤解爲額外的<hr>元素。

如果您想擁有一個有效的xhtml文檔,唯一的跨瀏覽器兼容方式是<hr>(即純HTML)或<hr />

+0

除非作爲'application/xhtml + xml'發送作爲真正的XML,在這種情況下,瀏覽器確實使用XML解析器 – timw4mail

+0

@ timw4mail - *一些*瀏覽器可能,但不是全部,尤其是舊版本的IE – Spudley

+0

IE沒有一個呈現XHTML的XML解析器,不知道該怎麼處理它,所以它試圖讓你下載它 – timw4mail

0

由於它是一個空的元素,所以打開和關閉標籤是沒有意義的。

但是,XML要求關閉所有標籤,因此需要使用<hr />表單。

我想HTML,而不是XML,<hr></hr>是有效的,但沒有必要。

+0

您的意思是*我想用XML,而不是HTML *? –

+0

嗯,我想這可能是有效的,但它也很愚蠢。 – timw4mail

+0

否,'


'在HTML 4中無效,但它應該在XML中無效嗎? XML元素由形式爲''的開始和結束標記組成。 –

相關問題