利用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>
相关推荐
前端小巷子3 分钟前
Web 实时通信:从短轮询到 WebSocket
前端·javascript·面试
神仙别闹7 分钟前
基于C#+SQL Server实现(Web)学生选课管理系统
前端·数据库·c#
web前端神器13 分钟前
指定阿里镜像原理
前端
枷锁—sha18 分钟前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
枷锁—sha19 分钟前
跨站请求伪造漏洞(CSRF)详解
运维·服务器·前端·web安全·网络安全·csrf
群联云防护小杜35 分钟前
深度隐匿源IP:高防+群联AI云防护防绕过实战
运维·服务器·前端·网络·人工智能·网络协议·tcp/ip
汉得数字平台1 小时前
【鲲苍提效】全面洞察用户体验,助力打造高性能前端应用
前端·前端监控
花海如潮淹1 小时前
前端性能追踪工具:用户体验的毫秒战争
前端·笔记·ux
_丿丨丨_6 小时前
XSS(跨站脚本攻击)
前端·网络·xss
天天进步20156 小时前
前端安全指南:防御XSS与CSRF攻击
前端·安全·xss