利用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>
相关推荐
无奈何杨2 分钟前
风控系统的事中与事后一致性与闭环
前端·后端
江城开朗的豌豆2 分钟前
前端路由暗战:React与Vue的导航哲学对决
前端·javascript·react.js
鹏多多4 分钟前
Vue移动端开发的适配方案与性能优化技巧
前端·javascript·vue.js
王琦031813 分钟前
Python 0909
前端·javascript·python
洗刷先生32 分钟前
uniapp 文件查找失败:main.js
前端
前端小巷子33 分钟前
JS 打造仿腾讯影视轮播导航
前端·javascript·面试
2501_9159214337 分钟前
前端开发工具有哪些?常用前端开发工具、前端调试工具、前端构建工具与效率提升工具对比与最佳实践
android·前端·ios·小程序·uni-app·iphone·webview
知否技术1 小时前
别再踩坑了!这份 Vue3+TypeScript 项目教程,赶紧收藏!
前端·typescript
IT_陈寒1 小时前
JavaScript 2024:10个颠覆你认知的ES新特性实战解析
前端·人工智能·后端
meng半颗糖1 小时前
JavaScript 性能优化实战指南
前端·javascript·servlet·性能优化