HTML语法完全指南
从基础到高级,全面掌握HTML的核心概念和语法规则,打造专业级网页
HTML基础结构
HTML文档由标签和元素组成,遵循特定的结构规范。了解基本结构是学习HTML的第一步。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>页面标题</title>
    <!-- 外部资源引用 -->
</head>
<body>
    <!-- 页面内容 -->
    <h1>欢迎来到我的网站</h1>
    <p>这是一个段落文本。</p>
</body>
</html>
                DOCTYPE声明
                            <!DOCTYPE html> 声明文档类型为HTML5,位于文档的第一行。
                        
HTML根标签
                            <html> 标签是HTML文档的根,所有其他标签都包含在其中。
                        
头部与主体
                            <head> 包含元数据,<body> 包含可见的页面内容。
                        
元素与标签
HTML元素由开始标签、内容和结束标签组成。了解不同类型的元素是构建网页的基础。
块级元素
块级元素独占一行,宽度默认是父元素的100%。常见的块级元素有:
- 
                                
                                
<div>- 通用容器 - 
                                
                                
<p>- 段落 - 
                                
                                
<h1>~<h6>- 标题 - 
                                
                                
<ul>,<ol>,<li>- 列表 - 
                                
                                
<form>- 表单 
内联元素
内联元素只占据所需的宽度,不会换行。常见的内联元素有:
- 
                                
                                
<a>- 链接 - 
                                
                                
<img>- 图片 - 
                                
                                
<input>,<button>- 表单控件 - 
                                
                                
<span>- 通用内联容器 - 
                                
                                
<strong>,<em>- 文本格式化 
空元素
空元素没有内容和结束标签,只需一个标签即可。常见的空元素有:
<br> - 换行
                        <hr> - 水平线
                        <img> - 图片
                        <input> - 输入框
                        <meta> - 元数据
                        <link> - 外部资源链接
                        <col> - 表格列
                        <wbr> - 可选换行点
                        HTML属性
                    HTML属性为元素提供额外信息,写在开始标签中,格式为 属性名="属性值"。
                
通用属性
所有HTML元素都可以使用的属性:
id
                                唯一标识元素,用于CSS和JavaScript选择器
<div id="main-content"></div>
                            class
                                为元素指定一个或多个类名,用于CSS样式
<p class="text-red bold"></p>
                            style
                                内联定义元素的CSS样式
<h1 style="color:blue;"></h1>
                            title
                                提供元素的额外信息,鼠标悬停时显示
<img src="logo.png" title="公司标志">
                            常用元素特定属性
某些元素特有的重要属性:
src
                                指定图像、脚本或媒体的路径
<img src="image.jpg">
                            href
                                指定链接的目标URL
<a href="https://example.com"></a>
                            alt
                                为图像提供替代文本,用于无障碍访问
<img src="logo.png" alt="公司标志">
                            disabled
                                禁用表单元素,使其不可用
<input type="text" disabled>
                            属性使用技巧
- 
                            
                            使用 
aria-*属性增强无障碍性,例如aria-label - 
                            
                            为图像和链接添加 
target="_blank"时,始终加上rel="noopener noreferrer"防止安全风险 - 
                            
                            使用 
data-*属性存储自定义数据,供JavaScript使用 
文本格式化
HTML提供了多种标签用于格式化文本,包括标题、段落、强调等。
标题标签
                            HTML提供6个级别的标题标签,从 <h1> 到 <h6>,重要性逐级降低。
                        
<h1> 一级标题
                            <h2> 二级标题
                            <h3> 三级标题
                            <h4> 四级标题
                            <h5> 五级标题
                            <h6> 六级标题
                        文本强调标签
HTML提供多种标签用于强调文本,每个标签有不同的语义。
<strong> - 重要文本(通常显示为粗体)
                                这是重要的文本
<em> - 强调文本(通常显示为斜体)
                                这是需要强调的文本
<mark> - 标记/高亮文本
                                这是被标记的文本
<small> - 次要文本
                                这是次要的文本
<del> - 删除文本
                                这是被删除的文本
<ins> - 插入文本
                                这是插入的文本
其他文本格式化标签
<b> - 粗体文本(无强调语义)
                            这是粗体文本
<i> - 斜体文本(无强调语义)
                            这是斜体文本
<u> - 下划线文本
                            这是下划线文本
<sub> - 下标文本
                            H2O
<sup> - 上标文本
                            x2 + y2 = r2
<code> - 代码文本
                            function add(a, b) { return a + b; }
列表
HTML提供三种列表类型:无序列表、有序列表和定义列表。
无序列表
                            使用 <ul> 标签,每个列表项使用 <li> 标签。
                        
- 项目一
 - 项目二
                                    
- 子项目A
 - 子项目B
 
 - 项目三
 
<ul>
  <li>项目一</li>
  <li>项目二
    <ul>
      <li>子项目A</li>
      <li>子项目B</li>
    </ul>
  </li>
  <li>项目三</li>
</ul>
                        有序列表
                            使用 <ol> 标签,每个列表项使用 <li> 标签。
                        
- 第一步
 - 第二步
                                    
- 子步骤A
 - 子步骤B
 
 - 第三步
 
<ol>
  <li>第一步</li>
  <li>第二步
    <ol type="a">
      <li>子步骤A</li>
      <li>子步骤B</li>
    </ol>
  </li>
  <li>第三步</li>
</ol>
                        定义列表
                            使用 <dl> 标签,包含术语(<dt>)和定义(<dd>)。
                        
- HTML
 - 超文本标记语言
 - CSS
 - 层叠样式表
 - JavaScript
 - 网页脚本语言
 
<dl>
  <dt>HTML</dt>
  <dd>超文本标记语言</dd>
  <dt>CSS</dt>
  <dd>层叠样式表</dd>
  <dt>JavaScript</dt>
  <dd>网页脚本语言</dd>
</dl>
                        列表使用技巧
- 
                            
                            有序列表可以通过 
type属性指定编号类型:1(默认)、A、a、I、i - 
                            
                            无序列表可以通过CSS修改项目符号样式(
list-style-type) - 列表可以嵌套使用,创建复杂的结构
 
链接与图片
链接和图片是网页中不可或缺的元素,用于导航和展示内容。
链接
                            使用 <a> 标签创建链接,通过 href 属性指定目标URL。
                        
链接与图片最佳实践
- 
                            
                            始终为图片添加 
alt属性,提高无障碍性 - 
                            
                            外部链接使用 
target="_blank"时,添加rel="noopener noreferrer"防止安全风险 - 使用相对路径引用网站内的资源
 - 
                            
                            考虑使用 
<picture>元素提供不同分辨率的图片 
表格
HTML表格用于展示结构化数据,由行和列组成。
基本表格结构
| 姓名 | 年龄 | 职业 | 城市 | 
|---|---|---|---|
| 张三 | 28 | 工程师 | 北京 | 
| 李四 | 32 | 设计师 | 上海 | 
| 王五 | 45 | 产品经理 | 广州 | 
<table>
  <thead>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
      <th>职业</th>
      <th>城市</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>张三</td>
      <td>28</td>
      <td>工程师</td>
      <td>北京</td>
    </tr>
    <tr>
      <td>李四</td>
      <td>32</td>
      <td>设计师</td>
      <td>上海</td>
    </tr>
    <tr>
      <td>王五</td>
      <td>45</td>
      <td>产品经理</td>
      <td>广州</td>
    </tr>
  </tbody>
</table>
                    合并单元格
                            使用 colspan 和 rowspan 属性合并单元格。
                        
| 产品信息 | |
|---|---|
| 名称 | 笔记本电脑 | 
| 规格 | 15.6英寸屏幕 | 
| 8GB内存,512GB SSD | |
表格标题与分组
                            使用 <caption>、<thead>、<tbody> 和 <tfoot> 标签。
                        
| 季度 | 销售额 | 
|---|---|
| 第一季度 | ¥120,000 | 
| 第二季度 | ¥150,000 | 
| 总计 | ¥270,000 | 
表格使用技巧
- 
                            
                            使用 
<thead>、<tbody>和<tfoot>标签组织表格结构 - 
                            
                            为表格添加 
<caption>标签,提高表格的可访问性 - 
                            
                            使用 
border-collapse: collapse;CSS属性合并相邻的边框 - 
                            
                            对于复杂表格,考虑使用 
<colgroup>和<col>标签定义列属性 
表单
HTML表单用于用户输入,是网站与用户交互的重要方式。
基本表单结构
<form>
  <div>
    <label for="name">姓名</label>
    <input type="text" id="name">
  </div>
  
  <div>
    <label for="email">邮箱</label>
    <input type="email" id="email">
  </div>
  
  <div>
    <label for="message">留言</label>
    <textarea id="message" rows="3"></textarea>
  </div>
  
  <div>
    <label>兴趣</label>
    <label>
      <input type="checkbox"> 阅读
    </label>
    <label>
      <input type="checkbox"> 旅行
    </label>
    <label>
      <input type="checkbox"> 摄影
    </label>
  </div>
  
  <div>
    <label>性别</label>
    <label>
      <input type="radio" name="gender"> 男
    </label>
    <label>
      <input type="radio" name="gender"> 女
    </label>
    <label>
      <input type="radio" name="gender"> 其他
    </label>
  </div>
  
  <div>
    <label for="country">国家</label>
    <select id="country">
      <option>中国</option>
      <option>美国</option>
      <option>英国</option>
      <option>其他</option>
    </select>
  </div>
  
  <button type="submit">提交</button>
</form>
                    表单输入类型
HTML提供多种输入类型,满足不同的输入需求。
text - 单行文本输入
                                
                            password - 密码输入(隐藏显示)
                                
                            number - 数字输入
                                
                            date - 日期选择器
                                
                            email - 邮箱输入(有格式验证)
                                
                            表单验证属性
使用HTML5的验证属性,可以在客户端进行基本的表单验证。
required - 必填字段
                                
                            minlength/maxlength - 最小/最大长度
                                
                            min/max - 数字范围
                                
                            pattern - 正则表达式验证
                                
                            表单最佳实践
- 
                            
                            使用 
<label>标签关联输入控件,提高可访问性 - 使用HTML5验证属性进行基本验证,但不要依赖它们替代服务器端验证
 - 
                            
                            为表单元素添加 
name属性,以便服务器接收数据 - 
                            
                            使用 
<fieldset>和<legend>标签组织相关表单元素