HTML5废弃了、等表现型标签及align等属性,须用CSS替代;语义标签如需配标题,不可盲目替换div;DOCTYPE必须为,编码声明用且置于head最前;表单新属性需JS降级兼容。

HTML5 中废弃的 HTML4 标签和属性必须移除
HTML5 不再支持 实操建议: 很多人一上来就把所有 常见误用现象: 立即学习“前端免费学习笔记(深入)”; HTML4 常见的长 DOCTYPE(如 XHTML 1.0 Strict)在 HTML5 中不仅多余,还可能触发怪异模式。HTML5 只接受一种写法: 字符编码也必须用 关键细节: HTML5 新增了 实际踩坑点:、、、 等纯表现型标签,也不再允许在 上使用 align、border,或在 上用
cellpadding、cellspacing。这些不是“可选”,而是被规范明确废弃——浏览器可能仍渲染,但校验失败,且未来兼容性无保障。
text-align: center 代替 ,font-family 和 color 代替
width、height 在 上,应转为 CSS 或保留为语义化尺寸(如响应式需用 max-width: 100%)validator.w3.org 扫描,重点看 “obsolete” 类错误,不要忽略HTML5 新增语义化标签不能盲目替换 div
,结果反而破坏结构逻辑。HTML5 语义标签是“有含义的容器”,不是“换皮工具”。例如: 要求有标题(),–
应代表独立可复用的内容单元(如一篇博客、一条新闻),而 必须与主内容相关但非核心。
却没配标题 → 应用
,但里面混着广告位、友情链接等无关内容 → 需拆分,仅版权信息部分用
包含侧边栏或页头 → 必须只含页面唯一主导内容,且不可嵌套DOCTYPE 和字符编码声明必须精简且正确
,大小写不敏感,但必须顶格、无空格、无注释前缀。,且放在 最前面(早于任何其他标签,包括 )。旧式写法如 虽仍生效,但冗余且易因顺序错位导致乱码。
Content-Type 头若含 charset,需与 HTML 内声明一致,否则以 HTTP 头为准,可能覆盖 meta 设置AddDefaultCharset UTF-8)表单控件和验证行为变化直接影响 JS 交互
required、email、number、date 等输入类型及属性,它们不只是加个样式,而是改变原生验证逻辑和移动端键盘类型。但问题在于:不同浏览器对这些特性的支持程度和报错方式差异极大,尤其在 Android WebView 或旧版 Safari 中。
HTML5 转换不是格式替换,而是结构重审。最常被跳过的一步,是检查旧页面中那些“能用就行”的内联 JS 事件绑定(比如 在 Chrome 显示日期选择器,在 Firefox 仍为文本框,iOS Safari 支持但可能不触发 change 事件 → 必须配合 JS 做降级(如用 type="text" + 第三方日历库)required 属性触发表单提交前验证,但 form.checkValidity() 返回 true 并不表示后端安全 —— 它只校验 HTML5 规则,不替代服务端验证input 的 valueAsNumber 或 valueAsDate 属性在 IE 完全无效,需用 parseFloat() 或 Date.parse() 兜底onclick="doSubmit()")是否与新语义标签的冒泡行为冲突,或是否依赖已废弃的 DOM 属性(如 document.all)。这类问题往往上线后才暴露,且难以复现。










