2014-01-07 162 views
2

我們的CMS輸出換行符爲<br></br>(愚蠢的,我知道,但是從語法corrent(?))Mozilla的翻譯<br></br>爲<br></br><br></br>

這相當於<br><br>在Chrome和IE10和<br></br><br></br>在Firefox。

所有瀏覽器都顯示爲兩個換行符。

爲什麼不<br></br>翻譯像<br />或只是<br>,是有什麼我可以做 使瀏覽器解釋<br></br>爲只有一個換行符?

+1

'br'是一個內聯標記。這意味着它沒有結束標籤。你必須用它作爲'
' – 2014-01-07 09:00:17

+0

正如答案所指出的那樣,'

'在句法上是不正確的。當然,它是格式良好的XML,所以它可以在XHTML中使用;但只有真正的XHTML,帶有xml內容類型。然而,這是無效的。所以你的問題,「有什麼我可以做的,使瀏覽器解釋

只是一個linebreak?」是錯誤的問題;它實際上應該是:「我怎樣才能擺脫'
'?」 –

+0

PS如果您可以設法將文檔內容類型爲application/xhtml + xml,那麼您會發現它確實按照預期出現。儘管如此,它仍然應該是'
'。 –

回答

1

hey <br></br>在語法上不正確,您必須將其作爲<br/>(看斜槓)。它的內聯元素不需要像其他元素一樣關閉。它自己關閉

+0

地獄,除非你想遵守XHTML規範,否則不需要斜線。 HTML5 [沒有這樣的要求](http://www.w3.org/TR/html5/text-level-semantics.html#the-br-element)。 – misterManSam

+0

那麼,我想我會寫一封電子郵件給cms的人。謝謝您的幫助! – SondreBBakken

+0

@ MisterManSam-同意:)請大家看看卡羅·卡納斯的回答 – Chandrakant

3

它由HTML5規範定義:http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody(在頁面中搜索文本An end tag whose tag name is "br")。

如果您的文檔被解析爲一個HTML文檔,每個關閉的br標籤總是會被解析,就好像它是一個開始標籤(並創建一個沒有內容的元素)。但是,如果將文檔解析爲XHTML文檔,則<br></br>序列將生成與<br/>標籤相同的DOM樹。要將您的文檔解析爲XHTML文檔,您必須使用application/xhtml+xml MIME類型發送它。

更多細節可在規格:http://www.w3.org/TR/html5/introduction.html#html-vs-xhtml; http://www.w3.org/TR/html5/the-xhtml-syntax.html

+1

「每個關閉的br標籤總是會被解析,就好像它是一個開始標籤」。嗯,這是規範說的。但這不是瀏覽器的功能。考慮''。結果元素將不具有類屬性。我提出了一個要求澄清的規範錯誤。 – Alohci

+1

請注意,[HTML 5.1規範草案](http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody)現在已被修改爲可以說任何屬性在br結束標籤將被丟棄。 – Alohci

+0

只是爲了完整性,我想離開@Alohci提交的bug的網址:https://www.w3.org/Bugs/Public/show_bug.cgi?id = 24233。 –