<文档类型> VS <!DOCTYPE>

kai*_*aid 1 html google-chrome express

我正在使用 express 在 Chrome 上提供 HTML 页面,如果我使用,则外部 CSS 不起作用:

< !DOCTYPE html >
Run Code Online (Sandbox Code Playgroud)

但外部 CSS 适用于:

< doctype html >
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

Juk*_*ela 5

当你有<!DOCTYPE html>(你可能有,你只是在< !DOCTYPE html >这里写是因为你不知道如何使用代码降价),它使浏览器在“标准模式”下工作。如果你没有它,或者其他一些较长的结构之一,浏览器会在“怪癖模式工作,这意味着它们应用了几十种怪癖,旨在模拟非常旧版本的 IE 中的错误和奇怪之处。

如果省略感叹号,字符串就不是触发“标准模式”的魔法。构造<DOCTYPE html>或等效的 , <doctype html>只是一个未定义的标签,浏览器会忽略它。

如果页面现在在怪癖模式下“工作”,请不要搞砸了。保持页面原样,只更改绝对需要更改的内容(例如内容更新)。将其更改为在标准模式下工作将为页面的标记和样式的未来开发创造更好的可能性,但它可能需要大量工作,可能不仅仅是完全重新设计和重写(或只是一点工作;它会即使我们看到页面及其代码也很难估计)。