我有一些HTML代码。这是一个带有片段的小提琴的链接: http://jsfiddle.net/U32UU/2/
问题没有显示在jsfiddle中,但您可以在本地复制代码段并在浏览器中查看。包含doctype规范,问题是“错误”样式标记格式错误的所有内容。在该行的上方和下方添加了空间。如果我删除了doctype指令,那么问题就会消失,格式化也会很好。
在此处查看:http://www.w3schools.com/tags/ref_html_dtd.asp
我没有做任何不受该doctype支持的事情。我也想知道我是否需要doctype规范。没有它似乎工作得很好,但我想知道为什么格式化问题存在。
答案 0 :(得分:3)
段落应该有利润。在严格模式下(使用DOCTYPE),它们总是这样做,但在怪癖模式下(没有DOCTYPE),当段落放在表格中时,边距消失。这是浏览器中的错误! (顺便说一句,这是一个故意的。)
因此,如果您想要一个没有边距的段落,请将其margin属性设置为0。
p {margin:0}
或者如果您希望这只发生在表格中,
table p {margin:0}
这将在严格和怪癖模式下工作。
答案 1 :(得分:1)
将以下内容添加到您的样式中。您正在将<p>
标记嵌套到表中,并且每个默认样式表都有一个边距。
p.error {
color: red;
margin: 0;
}
由于这个原因,为什么你会遇到{out} doctype
定义的不同行为,我不知道,但它可能来自浏览器在不同渲染模式下使用的不同默认样式表。