我們的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>
爲只有一個換行符?
我們的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>
爲只有一個換行符?
hey <br></br>
在語法上不正確,您必須將其作爲<br/>
(看斜槓)。它的內聯元素不需要像其他元素一樣關閉。它自己關閉
地獄,除非你想遵守XHTML規範,否則不需要斜線。 HTML5 [沒有這樣的要求](http://www.w3.org/TR/html5/text-level-semantics.html#the-br-element)。 – misterManSam
那麼,我想我會寫一封電子郵件給cms的人。謝謝您的幫助! – SondreBBakken
@ MisterManSam-同意:)請大家看看卡羅·卡納斯的回答 – Chandrakant
它由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。
「每個關閉的br標籤總是會被解析,就好像它是一個開始標籤」。嗯,這是規範說的。但這不是瀏覽器的功能。考慮' br class =「x」>'。結果元素將不具有類屬性。我提出了一個要求澄清的規範錯誤。 – Alohci
請注意,[HTML 5.1規範草案](http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody)現在已被修改爲可以說任何屬性在br結束標籤將被丟棄。 – Alohci
只是爲了完整性,我想離開@Alohci提交的bug的網址:https://www.w3.org/Bugs/Public/show_bug.cgi?id = 24233。 –
要回答你的問題......看到作爲CMS似乎輸出這個憎惡,如果你需要一個快速解決方案...
小提琴 - http://jsfiddle.net/P6bDp/
獎金CSS選擇器列表 - http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize/
CSS
br + br {display: none;}
這將消除第二<br>
,並留下一個單行BRE AK。修復CMS雖然:)
'br'是一個內聯標記。這意味着它沒有結束標籤。你必須用它作爲'
' – 2014-01-07 09:00:17
正如答案所指出的那樣,'
'在句法上是不正確的。當然,它是格式良好的XML,所以它可以在XHTML中使用;但只有真正的XHTML,帶有xml內容類型。然而,這是無效的。所以你的問題,「有什麼我可以做的,使瀏覽器解釋
只是一個linebreak?」是錯誤的問題;它實際上應該是:「我怎樣才能擺脫''?」 –
PS如果您可以設法將文檔內容類型爲application/xhtml + xml,那麼您會發現它確實按照預期出現。儘管如此,它仍然應該是'
'。 –