利用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>
相关推荐
妙哉73614 分钟前
零基础学安全--HTML
前端·安全·html
咔叽布吉22 分钟前
【前端学习笔记】AJAX、axios、fetch、跨域
前端·笔记·学习
GISer_Jing42 分钟前
Vue3常见Composition API详解(适用Vue2学习进入Vue3学习)
前端·javascript·vue.js
Dragon Wu1 小时前
TailwindCss 总结
前端·css·前端框架
bpmf_fff1 小时前
十、事件类型(鼠标事件、焦点.. 、键盘.. 、文本.. 、滚动..)、事件对象、事件流(事件捕获、事件冒泡、阻止冒泡和默认行为、事件委托)
前端·javascript
泰山小张只吃荷园1 小时前
期末Python复习-输入输出
java·前端·spring boot·python·spring cloud·docker·容器
悦涵仙子2 小时前
vueuse中的useTemplateRefsList
前端·javascript·vue.js
萧萧玉树2 小时前
分布式在线评测系统
前端·c++·后端·负载均衡
haima952 小时前
ubuntu安装chrome无法打开问题
前端·chrome
放逐者-保持本心,方可放逐2 小时前
XSS 与 CSRF 记录
前端·xss·csrf·浏览器安全