列表
HTML 提供了 3 组常用的用来展示列表的元素
- 有序列表: ol、 li
- 无序列表: ul、 li
- 定义列表: dl、 dt、 dd
有序列表 – ol – li
ol(ordered list)
li(list item)
浏览器会自动添加 CSS 属性:

无序列表 – ul - li
ul(unordered list)

定义列表 – dl – dt - dd
dl(definition list)
dt(definition term)
dd(definition description)
- 列表中每一项的具体描述,是对 dt 的描述、解释、补充
- 一个 dt 后面一般紧跟着 1 个或者多个 dd

一般开发时会首先重置默认属性
ol, li { padding: 0; margin: 0; list-style: none; } ----------------------------- ul, body, h1, p { list-style-type: none; padding: 0; margin: 0; } ----------------------------- dl, dt, dd { padding: 0; margin: 0; }
|
表格
- table : 表格
- tr (table row): 表格中的行
- td (table data): 行中的单元格
注意:
与列表一样, 一般会重置 CSS 样式, 自定义实现

table { text-align: center; border-collapse: collapse; }
td { border: 1px solid #333; padding: 8px 16px; }
table tr:nth-child(1) { font-weight: 700; }
=========================== <table> <tr> <td>排名</td> <td>股票名称</td> <td>股票代码</td> <td>股票价格</td> <td>股票的涨跌</td> </tr> <tr> <td>1</td> <td>贵州茅台</td> <td>600519</td> <td>1800</td> <td>5%</td> </tr> <tr> <td>1</td> <td>贵州茅台</td> <td>600519</td> <td>1800</td> <td>5%</td> </tr> <tr> <td>2</td> <td>腾讯控股</td> <td>00700</td> <td>400</td> <td>3%</td> </tr> <tr> <td>3</td> <td>五粮液</td> <td>000858</td> <td>160</td> <td>8%</td> </tr> </table>
|

为了元素语义化, 新增如下元素:
- thead: 表格的表头
- tbody: 表格的主体
- tfoot: 表格的页脚
- caption: 表格的标题
- th: 表格的表头单元格
<style> table { text-align: center; border-collapse: collapse; } td, th { border: 1px solid #333; padding: 8px 16px; } table tbody tr:nth-child(1) { color: red; font-weight: 700; }
</style> ============================ <body> <table> <caption>热门股票</caption> <thead> <tr> <th>排名</th> <th>股票名称</th> <th>股票代码</th> <th>股票价格</th> <th>股票的涨跌</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>贵州茅台</td> <td>600519</td> <td>1800</td> <td>5%</td> </tr> <tr> <td>1</td> <td>贵州茅台</td> <td>600519</td> <td>1800</td> <td>5%</td> </tr> <tr> <td>2</td> <td>腾讯控股</td> <td>00700</td> <td>400</td> <td>3%</td> </tr> <tr> <td>3</td> <td>五粮液</td> <td>000858</td> <td>160</td> <td>8%</td> </tr> </tbody> <tfoot> <tr> <td>其他</td> <td>其他</td> <td>其他</td> <td>其他</td> <td>其他</td> </tr> </tfoot> </table>
</body>
|

单元格合并
- 跨列合并: 使用 colspan
- 跨行合并: 使用 rowspan

练习
<style> table { border-collapse: collapse; text-align: center; }
table tr:nth-child(-n + 2) { font-weight: 700; font-size: 20px; }
table tr td[rowspan] { font-weight: 700; font-size: 18px; }
td { border: 1px solid red; width: 100px; height: 30px; } </style> ----------------------------------- <table> <tr> <td colspan="6">课程表</td> </tr> <tr> <td></td> <td>星期一</td> <td>星期二</td> <td>星期三</td> <td>星期四</td> <td>星期五</td> </tr> <tr> <td rowspan="4">上午</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td rowspan="4">下午</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td rowspan="2">晚自习</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> <tr> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> <td>数学</td> </tr> </table>
|
## 表单 表单元素是和用户交互的重要方式之一, 在很多网站都需要使用表单常见如: 用户注册/登录的表单
常见元素:
- form: 表单, 一般情况下,其他表单相关元素都是它的后代元素
- input: 单行文本输入框、单选框、复选框、按钮等元素
- textarea: 多行文本框
- select、 option: 下拉选择框
- button: 按钮
- label: 表单元素的标题
表单元素使用最多的是 input 元素
常见属性:
- type: input 的类型
- text:文本输入框(明文输入)
- password:文本输入框(密文输入)
- radio:单选框
- checkbox:复选框
- button:按钮
- reset:重置
- submit:提交表单数据给服务器
- file:文件上传
- readonly:只读
- disabled:禁用
- checked:默认被选中
- 只有当 type 为 radio 或 checkbox 时可用
- autofocus:当页面加载时,自动聚焦
- name:名字
- value:取值
注意:
对于 Boolean 属性, 如:
disabled、 checked、 readonly、 multiple、 autofocus、 selected
布尔属性可以没有属性值,写上属性名就代表使用这个属性

- 普通按钮(type=button) :使用 value 属性设置按钮文字
- 重置按钮(type=reset) :重置它所属 form 的所有表单元素(包括 input、 textarea、 select)
- 提交按钮(type=submit) :提交它所属 form 的表单数据给服务器(包括 input、 textarea、 select)
有如下两种实现方式:
效果一样 
label
一般跟 input 配合使用,用来表示 input 的标题
点击 label 就可以激活对应的 input 变成选中

radio
type 类型设置为 radio 就变成单选框

checkbox
将 type 类型设置为 checkbox 就变成多选框
- 属于同一种类型的 checkbox, name 值要保持一致

注意:
radio 和 checkbox 在表单中进行提交时, 提交的值是属性 value 的值
textarea
多行文本框
常见属性:
可以设置文本框的大小, 默认是两行, 可以鼠标拖放
缩放的 CSS 设置:
- 水平垂直缩放: resize: both
- 禁止缩放: resize: none;
- 水平缩放: resize: horizontal;
- 垂直缩放: resize: vertical;
textarea { resize: vertical; }
|
select 和 option
option 是 select 的子元素,一个 option 代表一个选项
select 常用属性
option 常用属性
表单元素的父元素
- form 可以将整个表单作为一个整体来进行操作;
- 比如对整个表单进行重置;
- 比如对整个表单的数据进行提交;
常见的属性:
- action: 用于提交表单数据的请求 URL
- method: 请求方法(get 和 post),默认是 get
- target: 在什么地方打开 URL(参考 a 元素的 target)