我们的内容管理系统将换行符输出为<br></br> (我知道这很愚蠢,但在语法上是正确的(?))
这在chrome和IE10中转换为<br><br>,在火狐中转换为<br></br><br></br>。
所有浏览器都将其显示为两个换行符。
为什么<br></br>不能像<br />或<br>那样翻译,有没有什么办法可以让浏览器把<br></br>翻译成换行符?
发布于 2014-01-07 17:22:47
它是由HTML5规范定义的:http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody (在页面中搜索文本An end tag whose tag name is "br" )。
如果您的文档被解析为一个超文本标记语言文档,那么每个结束的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。
发布于 2014-01-07 17:24:22
回答你的问题..。既然你的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>,并保留一个换行符。修复CMS :)
发布于 2014-01-07 16:56:42
嘿,<br></br>在语法上不正确,你必须像<br/>一样使用它(看斜杠)。它的内联元素,所以不需要像其他元素那样关闭。它会自动关闭
https://stackoverflow.com/questions/20967403
复制相似问题