下载工作台
前端开发入门

列表、表格与表单

试读上半部分 · 解锁后可读全文

第 3 章 · 列表、表格与表单

本章目标:用列表组织导航与大纲,用表格呈现课表;掌握 fieldsetdatalist 与 HTML5 验证;在 academy-demo 完成完整「课程报名表」register.html

学时建议:2.5 小时(含 50 分钟跟练与自检)

前置:第 1~2 章;academy-demo 已有 index、courses 页面。


3.1 无序、有序与定义列表

<ul>
  <li>HTML 语义结构</li>
  <li>CSS 布局</li>
  <li>JavaScript 交互</li>
</ul>

<ol>
  <li>填写报名表</li>
  <li>邮件确认</li>
  <li>开通权限</li>
</ol>

<dl>
  <dt>DOM</dt>
  <dd>将 HTML 表示为可编程树结构。</dd>
  <dt>CLS</dt>
  <dd>累计布局偏移,衡量视觉稳定性。</dd>
</dl>
类型标签场景
无序ul+li导航、技能点
有序ol+li步骤、排名
定义dl+dt+dd术语表、FAQ

3.2 表格 <table>

表格仅用于二维数据,禁止做页面布局。

<table>
  <caption>前端开发入门 · 课表</caption>
  <thead>
    <tr>
      <th scope="col">章节</th>
      <th scope="col">主题</th>
      <th scope="col">学时</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">ch01</th>
      <td>HTML 文档结构</td>
      <td>2h</td>
    </tr>
    <tr>
      <th scope="row">ch02</th>
      <td>文本、链接与多媒体</td>
      <td>2h</td>
    </tr>
  </tbody>
</table>
元素作用
<caption>表格标题
th scope="col/row"标明表头行列关系
colspan/rowspan跨列/跨行

3.3 表单基础与 fieldset 分组

<form action="/api/register" method="post" novalidate>
  <fieldset>
    <legend>基本信息</legend>
    <label for="email">邮箱</label>
    <input id="email" name="email" type="email" required autocomplete="email">
  </fieldset>

  <fieldset>
    <legend>感兴趣的方向</legend>
    <label><input type="checkbox" name="interest" value="html"> HTML/CSS</label>
    <label><input type="checkbox" name="interest" value="js"> JavaScript</label>
  </fieldset>

  <button type="submit">提交</button>
</form>
属性说明
action / method提交 URL;post 用于创建
enctype含文件时用 multipart/form-data
novalidate关闭浏览器验证(配合 JS 自定义)
fieldset+legend逻辑分组,读屏读出标题

可访问性:每个控件配 <label for="id">;必填 required;错误用 aria-describedby(JS 章深化)。


3.4 常用 input 与 datalist

type / 控件用途验证
text单行文本minlengthpattern
email / tel / url格式字段内置格式校验
number / date数字/日期minmaxstep
radio / checkbox单选/多选同 name 互斥或多值
select下拉首项 value="" 防空提交
textarea多行maxlength
file上传accept

datalist(可输入可选,不同于 select):

<label for="course">意向课程</label>
<input id="course" name="course" list="course-list" required>
<datalist id="course-list">
  <option value="前端开发入门">
  <option value="项目运维与部署">
  <option value="企业级架构运维">
</datalist>

HTML5 验证requiredpattern(如 ^1[3-9]\d{9}$)、minlength/maxlengthmin/max;配合 title 写清错误提示。


以下内容需解锁后阅读

试读已结束。解锁本章 ¥5.00,或开通年度会员畅读全部教程。
年度会员 ¥199.00/年; 小紫 AI 工作台有效会员 ¥99.00/年

正文仅在服务端鉴权后下发,未付费无法获取下半部分内容。