HTML个人信息表格制作教程
本教程将分为四个部分:

(图片来源网络,侵删)
- 基础入门:创建一个最简单的表格。
- 美化升级:使用CSS让表格变得美观。
- 高级功能:添加输入框、下拉列表等交互元素。
- 完整示例:整合所有知识,提供一个可以直接复制使用的完整代码。
第一部分:基础入门 - 创建你的第一个表格
HTML表格使用一系列标签来构建,核心标签如下:
<table>:定义表格容器。<tr>:定义表格行(Table Row)。<th>:定义表头单元格(Table Header),通常会加粗居中。<td>:定义普通数据单元格(Table Data)。
步骤1:创建基本结构
我们将创建一个包含“姓名”、“年龄”、“职业”和“城市”四列的个人信息表格。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">个人信息表格 - 基础版</title>
</head>
<body>
<h1>我的个人信息</h1>
<table>
<!-- 表头行 -->
<tr>
<th>姓名</th>
<th>年龄</th>
<th>职业</th>
<th>城市</th>
</tr>
<!-- 数据行 1 -->
<tr>
<td>张三</td>
<td>28</td>
<td>前端工程师</td>
<td>北京</td>
</tr>
<!-- 数据行 2 -->
<tr>
<td>李四</td>
<td>32</td>
<td>产品经理</td>
<td>上海</td>
</tr>
</table>
</body>
</html>
代码解释:
<table>标签包裹了整个表格。- 第一行
<tr>包含了四个<th>标签,它们构成了表格的标题行。 - 后续的每一行
<tr>都包含了四个<td>标签,它们是表格的具体数据。 - 在浏览器中打开这个HTML文件,你就能看到一个最基本的表格,但样式非常朴素。
第二部分:美化升级 - 使用CSS让表格更美观
默认的表格样式非常简陋,我们使用CSS(层叠样式表)来美化它。

(图片来源网络,侵删)
步骤2:添加CSS样式
我们可以在HTML文件中使用 <style> 标签来嵌入CSS代码。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">个人信息表格 - 美化版</title>
<style>
/* 1. 设置表格基本样式 */
table {
width: 80%; /* 表格宽度为页面的80% */
border-collapse: collapse; /* 合并边框,使其更整洁 */
margin: 20px auto; /* 上下间距20px,左右自动居中 */
font-family: Arial, sans-serif; /* 设置字体 */
}
/* 2. 设置表头样式 */
th {
background-color: #4CAF50; /* 背景色为绿色 */
color: white; /* 文字颜色为白色 */
padding: 12px 15px; /* 单元格内边距 */
text-align: left; /* 文字左对齐 */
}
/* 3. 设置数据单元格样式 */
td {
padding: 12px 15px; /* 单元格内边距 */
border-bottom: 1px solid #ddd; /* 底部边框 */
}
/* 4. 设置表格行悬停效果 */
tr:hover {
background-color: #f5f5f5; /* 鼠标悬停时行背景变为浅灰色 */
}
</style>
</head>
<body>
<h1>我的个人信息</h1>
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>职业</th>
<th>城市</th>
</tr>
<tr>
<td>张三</td>
<td>28</td>
<td>前端工程师</td>
<td>北京</td>
</tr>
<tr>
<td>李四</td>
<td>32</td>
<td>产品经理</td>
<td>上海</td>
</tr>
</table>
</body>
</html>
CSS代码解释:
border-collapse: collapse;:这是制作表格时一个非常有用的属性,它会让单元格之间的边框合并成单一边框,看起来更清爽。padding:设置单元格内容与边框的距离,让内容不那么拥挤。background-color和color:用来设置背景色和文字颜色,这里我们给表头设置了经典的绿底白字。tr:hover:这是一个伪类选择器,当鼠标移动到表格行 (<tr>) 上时,会触发其中的样式,这里我们让行背景变色,提升了用户体验。
第三部分:高级功能 - 添加交互元素
个人信息表格不仅仅是展示,很多时候还需要用户填写,这时,我们需要在表格单元格中放入表单元素。
步骤3:添加输入框、下拉列表等
我们将修改之前的表格,使其变成一个可以编辑的个人信息表。

(图片来源网络,侵删)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">个人信息表格 - 交互版</title>
<style>
/* 样式与美化版基本相同,可以复制过来 */
table {
width: 80%;
border-collapse: collapse;
margin: 20px auto;
font-family: Arial, sans-serif;
}
th {
background-color: #4CAF50;
color: white;
padding: 12px 15px;
text-align: left;
}
td {
padding: 12px 15px;
border-bottom: 1px solid #ddd;
}
tr:hover {
background-color: #f5f5f5;
}
/* 新增:为表单元素添加样式 */
input[type="text"],
input[type="number"],
select {
width: 95%; /* 输入框宽度占满单元格 */
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px; /* 圆角边框 */
box-sizing: border-box; /* 确保padding不会影响总宽度 */
}
</style>
</head>
<body>
<h1>个人信息填写</h1>
<form action="/submit-your-info" method="post"> <!-- form标签用于提交数据 -->
<table>
<tr>
<th>字段</th>
<th>填写内容</th>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="username" placeholder="请输入您的姓名"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="number" name="age" placeholder="请输入您的年龄"></td>
</tr>
<tr>
<td>性别</td>
<td>
<select name="gender">
<option value="">-- 请选择 --</option>
<option value="male">男</option>
<option value="female">女</option>
<option value="other">其他</option>
</select>
</td>
</tr>
<tr>
<td>城市</td>
<td>
<select name="city">
<option value="">-- 请选择 --</option>
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
<option value="shenzhen">深圳</option>
</select>
</td>
</tr>
<tr>
<td>个人简介</td>
<td><textarea name="bio" rows="4" placeholder="请简单介绍一下自己..."></textarea></td>
</tr>
</table>
<!-- 提交按钮 -->
<div style="text-align: center; margin-top: 20px;">
<button type="submit">提交信息</button>
</div>
</form>
</body>
</html>
新增元素解释:
<form>:用于包裹所有可输入的表单元素,action属性指定提交数据的服务器地址,method指定提交方式(get或post)。<input>:最常用的表单输入元素。type="text":单行文本输入框。type="number":数字输入框,部分浏览器会提供数字增减按钮。name属性:非常重要,用于提交数据时标识这个输入框的内容。placeholder:输入框为空时显示的提示文字。
<select>:下拉列表。<option>:下拉列表中的每一个选项。
<textarea>:多行文本输入框,适合输入较长的文字,如个人简介。<button type="submit">:提交按钮,点击后会触发表单的action。
第四部分:完整示例 - 整合与最佳实践
这是一个结合了所有知识点的最终版本,并增加了一些实用的HTML5属性和CSS技巧。
步骤4:最终版代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">个人信息表格 - 完整版</title>
<style>
/* 全局样式重置 */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #f4f7f6;
color: #333;
line-height: 1.6;
padding: 20px;
}
h1 {
text-align: center;
color: #2c3e50;
margin-bottom: 30px;
}
.container {
max-width: 800px;
margin: 0 auto;
background: #fff;
padding: 25px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
th, td {
padding: 15px;
text-align: left;
border-bottom: 1px solid #e0e0e0;
}
th {
background-color: #3498db;
color: white;
font-weight: 600;
text-transform: uppercase;
font-size: 0.9em;
letter-spacing: 0.5px;
}
tr:last-child td {
border-bottom: none;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
tr:hover {
background-color: #ecf0f1;
transition: background-color 0.3s ease;
}
/* 表单元素样式 */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1em;
}
textarea {
resize: vertical; /* 允许垂直调整大小 */
min-height: 100px;
}
.required {
color: #e74c3c;
}
.actions {
text-align: center;
margin-top: 20px;
}
button {
background-color: #2ecc71;
color: white;
border: none;
padding: 12px 25px;
font-size: 1em;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #27ae60;
}
</style>
</head>
<body>
<div class="container">
<h1>个人信息登记表</h1>
<p style="text-align: center; color: #7f8c8d; margin-bottom: 20px;">请填写以下信息,带 * 的为必填项。</p>
<form action="#" method="post">
<table>
<thead>
<tr>
<th width="20%">字段</th>
<th>内容</th>
</tr>
</thead>
<tbody>
<tr>
<td><label for="name">姓名 <span class="required">*</span></label></td>
<td><input type="text" id="name" name="name" required placeholder="请输入您的真实姓名"></td>
</tr>
<tr>
<td><label for="email">电子邮箱 <span class="required">*</span></label></td>
<td><input type="email" id="email" name="email" required placeholder=" your.email@example.com"></td>
</tr>
<tr>
<td><label for="phone">联系电话</label></td>
<td><input type="tel" id="phone" name="phone" placeholder="请输入11位手机号"></td>
</tr>
<tr>
<td><label for="age">年龄</label></td>
<td><input type="number" id="age" name="age" min="1" max="150"></td>
</tr>
<tr>
<td><label for="gender">性别</label></td>
<td>
<select id="gender" name="gender">
<option value="">-- 请选择 --</option>
<option value="male">男</option>
<option value="female">女</option>
<option value="other">不愿透露</option>
</select>
</td>
</tr>
<tr>
<td><label for="hobbies">兴趣爱好</label></td>
<td>
<select id="hobbies" name="hobbies" multiple size="3">
<option value="reading">阅读</option>
<option value="sports">运动</option>
<option value="music">音乐</option>
<option value="travel">旅行</option>
<option value="gaming">游戏</option>
</select>
<small style="color: #7f8c8d;">按住 Ctrl/Cmd 可多选</small>
</td>
</tr>
<tr>
<td><label for="bio">个人简介</label></td>
<td><textarea id="bio" name="bio" placeholder="请简单介绍一下自己..."></textarea></td>
</tr>
</tbody>
</table>
<div class="actions">
<button type="submit">提交信息</button>
</div>
</form>
</div>
</body>
</html>
最终版亮点:
- 语义化HTML5:使用了
<thead>,<tbody>,<label>,<div class="container">等更具语义化的标签,方便搜索引擎解析和屏幕阅读器识别。 - 更好的布局:通过
.container和box-shadow创建了一个卡片式布局,视觉效果更佳。 - 响应式设计:添加了
viewportmeta标签,并使用百分比宽度,使表格在不同屏幕尺寸下都能良好显示。 - 表单验证:
required属性告诉浏览器该字段为必填,如果不填写则无法提交。type="email"会自动验证邮箱格式。 - 用户体验增强:
- 使用
<label>将文本和输入框关联起来,点击标签也能聚焦到输入框。 placeholder提供了更明确的输入提示。tr:nth-child(even)实现了斑马纹效果,提升可读性。- 按钮和悬停效果都有平滑的过渡动画 (
transition)。
- 使用
通过这四个步骤,你已经从零开始学会了如何制作一个从简单到复杂的HTML个人信息表格。
核心要点回顾:
- HTML结构:
<table>,<tr>,<th>,<td>是表格的骨架。 - CSS美化:
border-collapse,padding,background-color,hover是美化表格的关键。 - 交互功能:
<form>,<input>,<select>,<textarea>让表格变得可以填写。 - 最佳实践:使用语义化标签、合理的布局、响应式设计和良好的用户体验,让你的表格更专业。
你可以尝试修改这些代码,比如改变颜色、增加新的字段,或者添加更多的CSS样式,来创建属于你自己的个性化个人信息表格!
