HTML:表格表单和多媒体

表格:展示结构化数据

表格用于展示数据清单,如成绩表、价格表、课程表等信息

<table>
    <thead>
        <tr>
            <th>标题1</th>
            <th>标题2</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>数据1</td>
            <td>数据2</td>
        </tr>
    </tbody>
</table>
标签全称/含义作用特点
<table>Table(表格)定义整个表格最外层容器,所有表格内容都写在里面
<thead>Table Head(表格头)包裹表头行可选,但建议用,语义更清晰
<tbody>Table Body(表格主体)包裹数据行可选,浏览器会自动补全
<tfoot>Table Foot(表格尾)包裹汇总行可选,通常放合计、备注等
<tr>Table Row(表格行)定义一行里面放 th 或 td
<th>Table Header(表头单元格)定义列标题文字默认加粗居中
<td>Table Data(表格数据)定义普通单元格文字默认常规左对齐

常用属性

属性作用示例适用标签
border设置表格边框宽度border="1"<table>
colspan横向合并单元格(跨列)colspan="2"th 或 td
rowspan纵向合并单元格(跨行)rowspan="3"th 或 td
align水平对齐方式align="center"tabletrthtd
valign垂直对齐方式valign="middle"trthtd
width设置宽度width="500px"tablethtd
cellpadding单元格内边距(内容与边框距离)cellpadding="10"<td>
cellspacing单元格间距(单元格之间距离)cellspacing="5"<td>

表单:收集信息

表单是网页交互的核心(通常用于登录、注册、搜索等功能)

<!-- 不用 action 和 method,因为不提交 -->
<h2>📝 同学信息登记表(仅练习布局)</h2>

<!-- 用 div 或 表格 把表单项排整齐,不用 form 也可以 -->
<div>
    <!-- 文本框 -->
    <label>姓名:</label>
    <input type="text" placeholder="例如:张三">
</div>

<div>
    <label>年龄:</label>
    <input type="number" placeholder="请输入数字">
</div>

<div>
    <label>性别:</label>
    <input type="radio" name="gender"> 男
    <input type="radio" name="gender"> 女
</div>

<div>
    <label>爱好:</label>
    <input type="checkbox"> 阅读
    <input type="checkbox"> 运动
    <input type="checkbox"> 音乐
</div>

<div>
    <label>城市:</label>
    <select>
        <option>北京</option>
        <option>上海</option>
        <option>广州</option>
    </select>
</div>

<div>
    <label>自我介绍:</label>
    <textarea rows="3" cols="30" placeholder="简单说几句..."></textarea>
</div>

<!-- 按钮可以点,但不会真提交 -->
<button>模拟提交(无后端)</button>
<button type="button">清空(示例按钮)</button>

<p style="color: gray;">※ 当前仅为界面练习,不保存数据</p>
标签全称/含义作用特点
<form>Form(表单)定义整个表单区域所有表单项的容器,目前只用来“框住”表单项
<input>Input(输入)定义输入控件通过 type 属性变化出各种形态(文本框、按钮、复选框等)
<label>Label(标签)为输入控件定义说明文字点击文字也能聚焦到对应输入框,提升体验
<select>Select(选择)定义下拉菜单需要配合 <option> 使用
<option>Option(选项)定义下拉菜单中的一个选项包裹在 <select> 里面
<textarea>Textarea(文本区域)定义多行文本输入框可以调整宽高,适合输入较长的内容
<button>Button(按钮)定义可点击的按钮比 <input> 按钮更灵活,内部可以放文字、图标等

<input>常用属性

属性作用示例适用 type
name控件名称(类似变量的名字)name="username"所有 type(除了按钮类)
value控件的值(实际内容)value="张三"所有 type
placeholder占位提示文字(浅灰色)placeholder="请输入姓名"textemailpassword 等文本类
required必填项(不填无法提交)required所有输入类
disabled禁用控件(灰色不可编辑)disabled所有 type
readonly只读(不能修改)readonlytexttextareanumber 等
checked默认选中checkedradiocheckbox
selected下拉菜单默认选中(用在 <option>selected<option>
maxlength最大字符数maxlength="10"文本类
min / max最小值 / 最大值min="0" max="100"numberrangedate
step步长(每次增减多少)step="5"numberrange
multiple多选(文件、下拉菜单)multiplefileselect

<select>和<option>相关

<!-- 基础下拉菜单 -->
<select name="city">
    <option value="beijing">北京</option>
    <option value="shanghai">上海</option>
    <option value="guangzhou">广州</option>
</select>

<!-- 带默认选中的选项 -->
<select name="city">
    <option>北京</option>
    <option selected>上海</option>  <!-- selected让上海默认显示 -->
    <option>广州</option>
</select>

<!-- 分组的下拉菜单 -->
<select name="fruit">
    <optgroup label="国产水果">
        <option>苹果</option>
        <option>香蕉</option>
    </optgroup>
    <optgroup label="进口水果">
        <option>车厘子</option>
        <option>牛油果</option>
    </optgroup>
</select>
标签/属性作用
<select>下拉菜单容器
<option>单个选项
<optgroup>选项分组
selected默认选中某个选项
multiple多选(按住 Ctrl 可多选)

<textarea>相关

<!-- 基础文本域 -->
<textarea rows="4" cols="50" placeholder="请输入自我介绍..."></textarea>

<!-- 禁止调整大小(通常用CSS,这里仅作了解) -->
<textarea style="resize: none;" rows="3" cols="30"></textarea>
属性作用示例
rows显示的行数(高度)rows="4"
cols显示的列数(宽度)cols="50"
placeholder占位提示文字placeholder="请输入..."
maxlength最大字符数maxlength="200"
wrap自动换行方式wrap="soft" 或 wrap="hard"

<button>相关

<!-- 按钮内部可以放任何内容(文字、图标等) -->
<button type="button">
    <strong>👍</strong> 点赞
</button>
type 值作用示例
submit提交按钮(默认值)<button type="submit">提交</button>
reset重置按钮(清空表单内容)<button type="reset">清空</button>
button普通按钮(无默认行为)<button type="button">点我</button>

<label>相关

用法代码效果
用 for 绑定 id<label for="username">用户名:</label>
<input type="text" id="username">
点击“用户名”文字,光标自动跳入输入框
直接包裹<label>用户名:<input type="text"></label>同上,但不需要 for 和 id

多媒体:音频与视频

<!-- 视频 -->
<video width="600" controls>
    <source src="movie.mp4" type="video/mp4">
    您的浏览器不支持 video 标签。
</video>

<!-- 音频 -->
<audio controls>
    <source src="music.mp3" type="audio/mpeg">
    您的浏览器不支持 audio 标签。
</audio>

相关标签

标签全称/含义作用特点
<img>Image(图像)在网页中嵌入图片单标签,不需要结束符
<video>Video(视频)在网页中嵌入视频双标签,内部可放多个 <source>
<audio>Audio(音频)在网页中嵌入音频双标签,内部可放多个 <source>
<source>Source(资源源)为视频/音频提供多个备用格式嵌套在 <video> 或 <audio> 内部
<track>Track(轨道)为视频添加字幕嵌套在 <video> 内部,可选

<img>相关

<img src="图片地址" alt="图片描述">
属性作用示例说明
src图片路径(必须)src="photo.jpg"可以是网络地址或本地路径
alt替代文本(必须)alt="一只小猫"图片加载失败时显示,对盲人读屏软件友好,也有利于SEO
width宽度width="300"单位是像素(px),可省略写数字
height高度height="200"单位是像素(px),建议只设置一个,另一个自动等比缩放
title鼠标悬停提示文字title="点击查看大图"鼠标放上去会显示小浮窗
loading加载方式loading="lazy"lazy 懒加载(滚动到才加载),eager 立即加载

<video>相关

<video src="movie.mp4" controls></video>

<!-- 支持多个备用格式 -->
<video controls>
    <source src="movie.mp4" type="video/mp4">
    <source src="movie.webm" type="video/webm">
    您的浏览器不支持 video 标签。
</video>
属性作用示例说明
src视频路径src="video.mp4"单视频时可写在video上,多视频时用source
controls显示播放控件controls布尔属性(写了就生效),显示播放/暂停/音量等按钮
autoplay自动播放autoplay页面加载后自动播放(⚠️ 多数浏览器限制需静音)
muted静音muted静音播放,常配合 autoplay 使用
loop循环播放loop播放完后自动重播
poster封面图poster="cover.jpg"视频加载前或未播放时显示的图片
width宽度width="640"视频宽度(像素)
height高度height="360"视频高度(像素)
preload预加载preload="auto"none(不预加载)/ metadata(只加载元数据)/ auto(预加载全部)
playsinline内联播放playsinline在移动端禁止全屏播放,就在页面内播放

<audio>相关

<audio src="music.mp3" controls></audio>

<!-- 支持多个备用格式 -->
<audio controls>
    <source src="music.mp3" type="audio/mpeg">
    <source src="music.ogg" type="audio/ogg">
    您的浏览器不支持 audio 标签。
</audio>
属性作用示例说明
src音频路径src="music.mp3"单音频时可写在audio上
controls显示播放控件controls显示播放/暂停/音量/进度条
autoplay自动播放autoplay自动播放(⚠️ 多数浏览器限制)
muted静音muted静音播放
loop循环播放loop播放完后重播
preload预加载preload="auto"none / metadata / auto

<source>相关

属性作用示例说明
src媒体文件路径src="video.mp4"必须
type文件MIME类型type="video/mp4"帮助浏览器快速判断能否播放

<track>相关

<video controls>
    <source src="movie.mp4" type="video/mp4">
    <track src="subtitles_en.vtt" kind="subtitles" srclang="en" label="English">
    <track src="subtitles_zh.vtt" kind="subtitles" srclang="zh" label="中文">
</video>
属性作用示例
src字幕文件路径(WebVTT格式,.vtt文件)src="subtitle.vtt"
kind轨道类型subtitles(字幕)/ captions(隐藏字幕)/ descriptions(描述)/ chapters(章节)
srclang语言代码srclang="zh" / srclang="en"
label显示的标题label="中文"

文件格式要求

  • 图片:jpeg、jpg、png、gif、webp、svg等
  • 视频:mp4、webm、ogg等
  • 音频:mp3、wav、ogg