【问题标题】:Why DOCTYPE destroy my page?为什么 DOCTYPE 会破坏我的页面?
【发布时间】:2014-04-25 08:11:33
【问题描述】:

是的,我的回复是我是一个非常糟糕的 css 编码器,但我真的需要了解这一点,我创建了一个页面而不使用任何 doctype,并且在 IE、FF 和 Chrome 中一切正常,除了一两个非常小的东西,然后我决定添加一个doctype来查看,但无论如何都显示了。

Google 没有帮助我...

没有doctype的页面:http://commenttrouver.com/test/indexwithout.php

还有:http://commenttrouver.com/test/index.php

谢谢

【问题讨论】:

  • 因为 DOCTYPE 浏览器遵循标准。快速查看 HTML 会发现很多错误。 CSS 中的尺寸至少必须有单位,所以width:800 无效,必须是width:800px 等等。
  • Doctype 告诉浏览器如何渲染页面,没有 doctype,浏览器必须猜测如何做。如果您有错误,那么浏览器会修复它们,但使用 doctype 则不会。
  • HTML 元素的开始标签是完全可选的。

标签: html css doctype


【解决方案1】:

包括(大多数)Doctypes,在浏览器中触发标准模式。

他们停止模拟旧版本浏览器中出现的错误,并更严格地应用标准(例如要求将没有单位的 CSS 长度视为“无效并被忽略”而不是“像素”)。

然后担心为什么仍然损坏的东西坏了。

【讨论】:

  • 这是绝对正确的。问题不在于文档类型,而在于您的 css/html。你应该总是使用 doctype。
  • 谢谢你,事实上我已经尝试过验证我的 css 但不明白它是否要说明宽度和高度