利用HTML5和CSS来实现一个漂亮的表格样式

利用HTML5和CSS来实现一个漂亮的表格样式

第一步:创建HTML结构

我们将用HTML创建一个基本的表格结构。代码如下:

html 复制代码
<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>美化表格示例</title>
    <link rel="stylesheet" href="styles.css"> <!-- 引用外部CSS文件 -->
</head>

<body>
    <table>
        <thead>
            <tr>
                <th>姓名</th> <!-- 表头 -->
                <th>年龄</th>
                <th>城市</th>
                <th>职业</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>张三</td> <!-- 表格内容 -->
                <td>25</td>
                <td>北京</td>
                <td>开发者</td>
            </tr>
            <tr>
                <td>李四</td>
                <td>30</td>
                <td>上海</td>
                <td>设计师</td>
            </tr>
        </tbody>
    </table>
</body>

</html>

第二步:添加CSS样式

下面是我们可以使用的CSS样式。将以下内容放入一个名为styles.css的文件中:

css 复制代码
body {
    font-family: Arial, sans-serif;  /* 设置全局字体 */
    margin: 20px;                      /* 页面边距 */
}

table {
    width: 100%;                      /* 表格宽度 */
    border-collapse: collapse;       /* 合并边框 */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 添加阴影 */
}

th, td {
    padding: 15px;                   /* 单元格内边距 */
    text-align: left;                /* 左对齐 */
    border: 1px solid #ccc;          /* 块边框 */
}

th {
    background-color: #f2f2f2;      /* 表头背景色 */
}

tr:hover {
    background-color: #f1f1f1;      /* 鼠标悬停效果 */
}

第三步:响应式设计

我们可以通过媒体查询来实现简单的响应式设计,使得表格在移动端上也能较好的显示。添加以下CSS到styles.css:

css 复制代码
@media (max-width: 600px) {
    table {
        width: 100%;                /* 宽度100% */
        display: block;            /* 使表格变为块级元素 */
        overflow-x: auto;          /* 横向滚动 */
    }
    
    th, td {
        display: block;            /* 每个单元格使用块级样式 */
    }
}

第四步:加入交互效果

你可以使用JavaScript来增强表格的交互性。例如,当用户点击表格行时,显示更多信息:

javascript 复制代码
<script>
    const rows = document.querySelectorAll("tbody tr"); // 选择所有表格行
    rows.forEach(row => {
        row.addEventListener("click", () => {
            alert(`你点击了: ${row.cells[0].innerText}`); // 弹出点击的名字
        });
    });
</script>
相关推荐
lichenyang4539 小时前
Docker 学习笔记(一):为什么需要镜像、容器和仓库?
前端
kyriewen9 小时前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
IT_陈寒10 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
奇奇怪怪的10 小时前
Embedding 模型 10+ 横向评测
前端
陈广亮10 小时前
Monorepo 从 0 到 1 实操指南 2026 版:pnpm catalogs + Turborepo 2.x + changesets 全链路
前端
子兮曰10 小时前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
敲代码的鱼10 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
子兮曰11 小时前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust
Hyyy12 小时前
Function Calling / Tool Use的原理和实现模式
前端·llm·ai编程