新手写HTML最易出错的是结构逻辑混乱,如head/body混用、嵌套不闭合、语义乱用;须显式闭合标签、正确使用语义元素、属性值加双引号、id规范命名,并对比源码与渲染DOM树。

新手写 HTML 语句,最常出问题的不是标签拼错,而是结构逻辑混乱——里塞内容、外写文本、嵌套不闭合、语义乱用,这些都会让浏览器“猜意图”,结果不可控。
标签必须成对闭合,但部分标签可省略闭合符?
HTML5 允许省略某些结束标签(如 文字 立即学习“前端免费学习笔记(深入)”; 新手习惯全用 HTML 属性值含空格、特殊字符或纯数字时,不加引号会解析失败;虽然 真正卡住新手的,往往不是“会不会写某个标签”,而是浏览器默默纠错后,DOM 结构和预期不一致——建议写完立刻右键「查看网页源代码」,再对比「检查元素」里的实际渲染树,差哪一层,就修哪一层。、、),但这是浏览器“自动补全”的行为,不是推荐写法。新手按省略写,容易误判嵌套层级。
—— 错! 被提前截断,后续样式/JS 可能失效、、 是自闭合标签,写 或 都合法,但别写 head 和 body 的职责不能混用
只放元信息:字符集、标题、CSS/JS 引入、SEO 相关 ;所有可见内容、交互元素必须在 内。常见错误是把 或 直接写在 下(没包在 里)。
外或 外的文本节点,自动挪进 —— 但位置不确定,调试时 DOM 树会“跳变” 必须在 内,写到 里无效(页面标题不会变) 放 时,若依赖 DOM 元素,需加 defer 或监听 DOMContentLoaded
div 嵌套过深、滥用 block 元素替代语义标签
~,别用 ,页脚用 ,列表用 /,表格数据用 —— 这些不是“可选装饰”,是浏览器和读屏软件识别内容的关键
属性值不加引号、大小写混用、自定义属性没加 data-
class=header 在简单场景能运行,但 class=my class 就直接崩了。
class="header",而非 class=header 或 class='header'(单引号虽合法,但易与 JS 字符串冲突)onclick,不要 onClick;data-id 可以,myid 不是标准属性,必须写成 data-myid
id 值不能以数字开头(id="1section" 无效),也不能含空格或点号(id="section.1" 会让 CSS 选择器 #section.1 误判为 class)










