HTML Table 高级用法示例

示例1: 响应式表格

当屏幕宽度不足以显示整个表格时,添加水平滚动条。

姓名 职位 部门 入职日期 邮箱 电话 地址 薪资
张三 前端开发 技术部 2020-05-15 zhangsan@example.com 13800138000 北京市海淀区中关村大街1号 ¥15,000
李四 产品经理 产品部 2019-08-20 lisi@example.com 13900139000 北京市朝阳区建国路88号 ¥18,000
<style>
.responsive-table {
    overflow-x: auto;  /* 添加水平滚动条 */
}
</style>

<div class="responsive-table">
    <table>
        <!-- 表格内容 -->
    </table>
</div>
提示: 这种方法可以确保在小屏幕设备上也能查看完整的表格内容,而不是让表格溢出或被压缩变形。

示例2: 斑马纹表格 + 悬停效果

使用CSS为表格添加斑马纹样式和悬停高亮效果,提高可读性。

产品ID 产品名称 类别 价格 库存
P001 无线鼠标 电子产品 ¥129.00 156
P002 机械键盘 电子产品 ¥399.00 78
P003 办公椅 家具 ¥599.00 32
P004 台灯 家居用品 ¥89.00 210
P005 笔记本支架 办公用品 ¥69.00 185
<style>
.zebra-table {
    width: 100%;
}

.zebra-table thead {
    background-color: #3498db;
    color: white;
}

.zebra-table th, .zebra-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.zebra-table tbody tr:nth-child(even) {
    background-color: #f2f2f2;
}

.zebra-table tbody tr:hover {
    background-color: #e3f2fd;
}
</style>

示例3: 固定表头表格

当表格内容很长需要滚动时,保持表头固定在顶部。

<style>
.sticky-header {
    max-height: 300px;
    overflow-y: auto;
    margin: 20px 0;
    border: 1px solid #ddd;
}

.sticky-header thead th {
    position: sticky;
    top: 0;
    background-color: #2c3e50;
    color: white;
    z-index: 10;
}
</style>

<div class="sticky-header">
    <table>
        <!-- 表格内容 -->
    </table>
</div>

示例4: 使用colgroup设置列样式

使用colgroup和col元素为表格的不同列设置不同的样式。

季度 销售额 增长率
第一季度 ¥1,250,000 +12.5%
第二季度 ¥1,450,000 +16.0%
第三季度 ¥1,620,000 +11.7%
第四季度 ¥1,980,000 +22.2%
年度总计 ¥6,300,000 +15.6%
<style>
.colgroup-table colgroup col:nth-child(1) {
    background-color: #e3f2fd;  /* 第一列背景色 */
}

.colgroup-table colgroup col:nth-child(2) {
    background-color: #fff8e1;  /* 第二列背景色 */
}

.colgroup-table colgroup col:nth-child(3) {
    background-color: #e8f5e9;  /* 第三列背景色 */
}
</style>

<table class="colgroup-table">
    <colgroup>
        <col span="1">
        <col span="1">
        <col span="1">
    </colgroup>
    <!-- 表格内容 -->
</table>
提示: 使用colgroup可以高效地为整列设置样式,而不需要为每个单元格单独设置样式。这在处理大型表格时特别有用。