HTML4文档类型声明需严格匹配DTD,如;HTML5简化为,大小写不敏感,遗漏将触发怪异模式。
HTML4 和 HTML5 的文档类型声明怎么写
HTML4 用的是 DTD(文档类型定义),必须严格匹配特定版本;HTML5 则大幅简化,只保留语义化目的。
- HTML4 严格模式:
- HTML4 过渡模式:
- HTML5:
—— 大小写不敏感,但惯例全小写;没有 URI,也不触发任何 DTD 解析
写错或遗漏 会导致浏览器进入怪异模式(Quirks Mode),CSS 盒模型、表格对齐等行为会退回到旧标准,调试时容易误判为样式 bug。
HTML5 新增的语义化标签在 HTML4 里根本不存在
HTML4 几乎全靠
堆结构,HTML5 引入了明确语义的容器标签,不仅利于可访问性(如屏幕阅读器),也影响搜索引擎解析和开发者协作理解。
-
、、、、、、—— 这些在 HTML4 中属于非法标签,IE8 及更早版本连识别都不识别 - 老浏览器(如 IE8)需要
document.createElement("header")或引入html5shiv.js才能支持 CSS 选择器生效 - 注意:
不应出现多次(W3C 明确建议仅一个),而和
可嵌套,但语义不同:前者是主题分组,后者是独立内容单元(如一篇博客、一条新闻)
表单控件和属性在 HTML5 里直接原生支持
HTML4 表单极度依赖 JavaScript 和自定义验证;HTML5 把常用交互逻辑下沉到原生层面,减少脚本负担,也提升移动端体验。
立即学习“前端免费学习笔记(深入)”;