html – 当设置doctype时,为什么h1标签在div中显示不同?

html – 当设置doctype时,为什么h1标签在div中显示不同?,第1张

概述我有一个< h1>的div div中的标记,没有边距.如果我定义任何doctype,div上方会出现一个空格. 如果我删除< h1>标签,或删除doctype定义,没有空间(因为应该有.为什么? 示例HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 我有一个< h1>的div div中的标记,没有边距.如果我定义任何DOCTYPE,div上方会出现一个空格.

如果我删除< h1>标签,或删除DOCTYPE定义,没有空间(因为应该有.为什么?

示例HTML:

<!DOCTYPE HTML PUBliC "-//W3C//DTD HTML 4.01//EN"    "http://www.w3.org/TR/HTML4/strict.dtd"><HTML><head>    <style>        body {           margin:0        }        #thediv {          background-color:green        }    </style></head><body>    <div ID="thediv">        <h1>test</h1>    </div></body></HTML>

问题是绿色div上方的空间,删除DOCTYPE并且空间消失,更改< h1>标记为< b>而且空间也消失了.它适用于任何DOCTYPE(xhtml / HTML,严格/过渡/等)

适用于几乎所有浏览器(使用http://browsershots.org).有趣的是,似乎唯一正确显示它的浏览器是Internet Explorer 6.0 ..

@H_403_22@解决方法 根据 CSS spec,绿色div上方的空间是正确的行为.这是因为h1的上边距与div的上边距相邻.

保持div内部h1边距的一种方法是为div添加边框:

#thediv{ background-color:green; border: 1px transparent solID; }
总结

以上是内存溢出为你收集整理的html – 当设置doctype时,为什么h1标签在div中显示不同?全部内容,希望文章能够帮你解决html – 当设置doctype时,为什么h1标签在div中显示不同?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1086611.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存