我们的CMS输出的换行符为<br></br>
(愚蠢,我知道,但语法上相同(?))
这会转换为chrome和IE10中的<br><br>
以及Firefox中的<br></br><br></br>
。
所有浏览器都将其显示为两个换行符。
为什么<br></br>
不像<br />
或<br>
那样被翻译,我能做些什么?
使浏览器将<br></br>
解释为一个换行符?
答案 0 :(得分: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 :(得分:2)
要回答你的问题......如果你需要快速修复,那么你的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虽然:)
答案 2 :(得分:1)
hey <br></br>
在语法上不正确,您必须将其用作<br/>
(请查看斜杠)。它的内联元素所以不需要像其他元素一样关闭。它自己关闭