理解 HTML 属性的基本语法与作用
掌握常见属性(如 src、alt、id、class、href、style 等)的使用场景
区分全局属性、事件属性、元素特定属性等类型
遵循 W3C 推荐的最佳实践编写规范、可维护的 HTML 代码
HTML 属性是写在开始标签内部的特殊关键词,用于提供关于元素的额外信息,控制其外观、行为或功能。
基本语法
<tagname attribute_name="attribute_value">内容</tagname>示例解析
<img src="logo.png" alt="网站Logo" width="200">标签:<img>
属性名:src, alt, width
属性值:"logo.png", "网站Logo", "200"
注意:属性只能出现在开始标签中,不能写在结束标签或内容区域。
可应用于任何 HTML 元素,增强通用功能:
仅适用于特定标签:
事件属性:如 onclick, onload(现代开发中建议用 JS 绑定)
无障碍属性:如 aria-label, role(提升残障用户体验)
媒体属性:如 <video> 的 controls, autoplay
srcSource
指定外部资源路径,常用于 <img>, <script>, <iframe>。
<img src="https://example.com/image.jpg" alt="示例图">安全提示:避免使用不可信来源的
src,防止 XSS 攻击。
altAlternative Text
为图片提供替代文本,关键作用:
图片加载失败时显示
屏幕阅读器朗读(无障碍)
搜索引擎理解图片内容(SEO)
<img src="chart.png" alt="2024年销售增长趋势图">最佳实践:描述图片内容与功能,而非简单写“image”。
id 与 class<h1 id="main-title" class="heading primary">主标题</h1>
<p class="heading secondary">副标题</p>CSS 选择器:
#main-title(ID),.heading(类)
hrefHyperlink Reference
定义超链接目标,用于 <a> 和 <link>。
<a href="/about">关于我们</a>
<a href="https://example.org" target="_blank">新窗口打开</a>target="_blank":在新标签页打开(注意:需配合 rel="noopener" 防安全风险)
style直接嵌入 CSS 样式(仅建议临时调试使用)。
<p style="color: red; font-size: 18px;">红色文字</p>缺点:难以维护、无法复用、违反“结构与样式分离”原则。
推荐做法:使用 <style> 或外部 CSS 文件。
lang声明语言,提升国际化支持。
<html lang="zh-CN">
<p lang="en">This is an English sentence.</p>
</html>对搜索引擎和语音合成工具至关重要。
<!-- 推荐 -->
<img src="logo.png" alt="Logo">
<!-- 不推荐 -->
<IMG SRC="logo.png" ALT="Logo"><!-- 正确 -->
<input type="text" placeholder="输入用户名">
<!-- 危险(含空格会解析错误) -->
<input type=text placeholder=输入 用户名><!-- 正确 -->
<input type="checkbox" checked>
<button disabled>禁用按钮</button>
<!-- 冗余(虽有效但不简洁) -->
<input type="checkbox" checked="checked">
❌ 不要使用:
<p align="center">居中文本</p>
<table border="1">✅ 改用 CSS:
<p style="text-align: center;">居中文本</p>
<style>
table { border: 1px solid #000; }
</style>提升可读性
建议顺序:id → class → 全局属性 → 特定属性 → 事件属性
<button id="submit-btn" class="btn primary" type="submit" onclick="handleSubmit()">
提交
</button>为什么 <img> 的 alt 属性对 SEO 和无障碍访问如此重要?如果省略会有什么后果?
在 <a href="..." target="_blank"> 中,为什么现代安全实践建议添加 rel="noopener noreferrer"?
布尔属性如 disabled、checked 是否可以写成 disabled="false"?为什么?浏览器会如何处理?