HTML不是编程语言,掌握标签嵌套与闭合规则比记忆标签更重要;自闭合标签如可写为,但、等必须显式闭合,否则破坏DOM结构;alt属性必填以保障无障碍访问;表单需正确设置action、method及name属性;脚本位置影响DOM操作,依赖DOM的应放前或加defer;必须与控件正确绑定。
html 不是编程语言,写对标签嵌套和闭合规则,比记多少标签更重要。
怎么判断一个标签该不该闭合
浏览器对部分标签(如 <p></p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/xiazai/skill10595" title="htmlppt.skill"><img
src="https://img.php.cn/upload/skill/001/246/273/6adaf20d79f23518.jpg" alt="htmlppt.skill" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/xiazai/skill10595" title="htmlppt.skill">htmlppt.skill</a>
<p>把任意文章或文档内容转换成精美的全屏翻页 HTML 演示文件(幻灯片风格)。当用户发来一篇文章、文档链接、Markdown 内容、或粘贴的文本,并且希望生成演示用的 HTML 时触发。支持任意内容来源:iWiki 链接、KM 链接、本地文件路径、直接粘贴的文本。生成的 HTML 文件保存到本地工作区,并通过企微直接发送给用户。触发词示例:帮我把这篇文章做成PPT、转成演示文档、生成HTML幻灯片、做个演示、转成可以演示的格式、article to deck、make a slide。</p>
</div>
<a href="/xiazai/skill10595" title="htmlppt.skill" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div>、<li>、<tr>)会自动补全或修正闭合,但这不等于可以省略。真实问题是:省略后 DOM 结构可能意外改变,JS 操作 <code>document.querySelector 时找不到预期节点。
-
<img alt="html怎么写_html基础语法与标签使用规范【入门】" >、<input>、<br>是自闭合标签,写成<img alt="html怎么写_html基础语法与标签使用规范【入门】" >或<img alt="html怎么写_html基础语法与标签使用规范【入门】" >都合法,但统一用<img src="..." alt="...">更稳妥(XHTML 兼容、团队可读性高) -
<p></p>必须显式闭合:<p>文字</p>;写成<p>文字</p> <p>另一段</p>会导致第二个<p></p>被解析为新段落,中间无闭合 —— 浏览器会自动插入,但 JS 获取p的children时可能为空 <div> 和 <code><span></span>绝对不能省闭合,否则后续所有块级元素都会被包进这个没闭的<div> 里,样式和脚本全乱 <h3>alt 属性为什么必须写,哪怕留空</h3> <p><code>alt不是“可选提示”,而是图像加载失败或屏幕阅读器访问时的替代内容。W3C 标准要求所有<img alt="html怎么写_html基础语法与标签使用规范【入门】" >必须有alt,否则 HTML 验证失败,部分无障碍检测工具直接报错。立即学习“前端免费学习笔记(深入)”;
- 纯装饰图:用
alt=""(空字符串),告诉屏幕阅读器跳过;别写alt=" decorative "或删掉属性 - 图标按钮中的图:
alt="删除"或alt="返回首页",和按钮功能一致,不是描述图片形状 - 带链接的图:如果链接本身已有文字说明(如
<a href="...">点击查看报告</a>),图的alt可为空;否则需补充关键信息
form 表单提交前最容易漏的三件事
表单能显示、能点提交,不代表数据一定能到后端。常见问题出在语义缺失和属性遗漏。
-
<form></form>必须有action(提交地址)和method(GET或POST),缺一不可;method默认是GET,但含敏感数据或大文本时必须显式写method="POST" - 每个
<input>、<select></select>、<textarea></textarea>必须有name属性,否则提交时不会携带该字段 ——id或class不能代替name - 提交按钮要用
<button type="submit"></button>或<input type="submit">;写成<button></button>(无type)默认是type="button",点它不会触发表单提交
script 标签放哪儿,影响页面渲染和变量作用域
不是所有
<script></script>都适合扔在里。位置决定执行时机、DOM 可用性、以及是否阻塞渲染。- 依赖 DOM 的脚本(比如要
document.getElementById某个<div>),必须等 DOM 加载完再执行:放在 <code>前,或加defer属性(<script src="..." defer></script>) - 内联脚本(
<script>console.log(...)</script>)没defer或async,会立即执行并阻塞 HTML 解析 —— 放里时,DOM 还没生成,document.body是null -
async适合独立工具脚本(如统计代码),但多个async脚本执行顺序不确定,不能互相依赖
最常被忽略的其实是
<label></label>和表单控件的绑定 —— 不写for和id匹配,或不用<label><input>...</label>包裹,会导致点击文字无法聚焦输入框,移动端体验直接打折。- 纯装饰图:用

















