利用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>
相关推荐
肥肠可耐的西西公主5 分钟前
前端(AJAX)学习笔记(CLASS 2):图书管理案例以及图片上传
前端·笔记·学习
大胖丫6 分钟前
vue 学习-vite api.js
开发语言·前端·javascript
孙桂月7 分钟前
ES6相关操作(2)
前端·javascript·es6
陈浩源同学8 分钟前
学习 TypeScript 栈和队列数据结构
前端·算法
我这一生如履薄冰~9 分钟前
简单封装一个websocket构造函数
前端·javascript·websocket
fangcaojushi10 分钟前
解决webpack5.54打包图片及图标的问题
前端·vue.js
海盗强10 分钟前
Webpack打包优化
前端·webpack·node.js
星之卡比*12 分钟前
前端面试题---vite和webpack的区别
前端·面试
^^为欢几何^^17 分钟前
npm、pnpm和yarn有什么区别
前端·npm·node.js
AC-PEACE39 分钟前
Vue 中 MVVM、MVC 和 MVP 模式的区别
前端·vue.js·mvc