如何优化网页表格的样式?

一、设置表格样式

为了使表格更美观清晰,我们可以添加 CSS 样式来控制表格的样式。

<style>
table {
  border-collapse: collapse; /* 合并表格边框 */
  width: 100%;
}
th, td {
  border: 1px solid #ddd; /* 表格边框颜色 */
  padding: 8px; /* 单元格内边距 */
  text-align: left; /* 文字对齐方式 */
}
th {
  background-color: #f2f2f2; /* 表头背景颜色 */
}
tr:hover {
  background-color: #f5f5f5; /* 鼠标悬停背景颜色 */
}
</style>

上面的代码将设置表格样式,包括边框合并、单元格内边距、文本对齐方式、表头背景颜色和鼠标悬停背景颜色。

二、增加表格交互效果

为了使表格更加易读易懂,我们可以添加一些交互效果,比如排序、分页等。

以下示例展示如何使用 JavaScript 和 CSS 制作一个可排序的表格。

<style>
table {
  border-collapse: collapse;
  width: 100%;
}
th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}
th {
  background-color: #f2f2f2;
  cursor: pointer; /* 鼠标光标效果 */
}
tr:nth-child(even) {
  background-color: #f2f2f2;
}
tr:hover {
  background-color: #ddd;
}
</style>

<script>
function sortTable(n) {
  var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
  table = document.getElementById("myTable");
  switching = true;
  dir = "asc";
  while (switching) {
    switching = false;
    rows = table.rows;
    for (i = 1; i < (rows.length - 1); i++) {
      shouldSwitch = false;
      x = rows[i].getElementsByTagName("td")[n];
      y = rows[i + 1].getElementsByTagName("td")[n];
      if (dir == "asc") {
        if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
          shouldSwitch= true;
          break;
        }
      } else if (dir == "desc") {
        if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
          shouldSwitch = true;
          break;
        }
      }
    }
    if (shouldSwitch) {
      rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
      switching = true;
      switchcount ++;
    } else {
      if (switchcount == 0 && dir == "asc") {
        dir = "desc";
        switching = true;
      }
    }
  }
}
</script>

<table id="myTable">
  <thead>
    <tr>
      <th onclick="sortTable(0)">Name</th>
      <th onclick="sortTable(1)">Age</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>John</td>
      <td>28</td>
    </tr>
    <tr>
      <td>Mary</td>
      <td>25</td>
    </tr>
    <tr>
      <td>Bob</td>
      <td>32</td>
    </tr>
    <tr>
      <td>Alice</td>
      <td>19</td>
    </tr>
  </tbody>
</table>

上面的代码添加了一个表格和一个 JavaScript 函数 sortTable(),该函数可根据点击的表头排序表格内容。

三、响应式表格布局

在移动设备上查看大型表格时,表格可能会变得非常难以阅读和使用。为了解决这个问题,可以使用 CSS 媒体查询来创建响应式表格布局。

<style>
table {
  border-collapse: collapse;
  width: 100%;
}
th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}
th {
  background-color: #f2f2f2;
}
tr:hover {
  background-color: #f5f5f5;
}
@media screen and (max-width: 600px) {
  table, thead, tbody, th, td, tr { 
    display: block; /* 将表格变为块级元素 */
  }
  th {
    text-align: center; /* 表头文字居中 */
  }
  th:nth-child(1) {
    background-color: #fff; /* 第一列表头无背景色 */
  }
  td {
    text-align: center; /* 单元格文字居中 */
    border: none; /* 去除单元格间的边框 */
    border-bottom: 1px solid #ddd; /* 添加单元格底部边框 */
  }
  td:before { 
    content: attr(data-label); /* 添加伪元素 */
    float: left;
    font-weight: bold;
  }
}
</style>

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Age</th>
      <th>Gender</th>
      <th>City</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td data-label="Name">John</td>
      <td data-label="Age">28</td>
      <td data-label="Gender">Male</td>
      <td data-label="City">New York</td>
    </tr>
    <tr>
      <td data-label="Name">Mary</td>
      <td data-label="Age">25</td>
      <td data-label="Gender">Female</td>
      <td data-label="City">London</td>
    </tr>
    <tr>
      <td data-label="Name">Bob</td>
      <td data-label="Age">32</td>
      <td data-label="Gender">Male</td>
      <td data-label="City">Sydney</td>
    </tr>
    <tr>
      <td data-label="Name">Alice</td>
      <td data-label="Age">19</td>
      <td data-label="Gender">Female</td>
      <td data-label="City">Tokyo</td>
    </tr>
  </tbody>
</table>

上面的代码添加了一个响应式表格布局。在窗口宽度小于 600px 时,表格的列会转化为行,每行只显示一个单元格,并且带有标签名称的伪元素。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/241291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:28
下一篇 2024-12-12 12:28

相关推荐

  • 使用Treeview显示表格

    在web开发中,显示表格数据是一项很常见的需求。当我们需要在页面上显示大量数据时,除了使用传统的表格样式外,还可以使用Treeview这种可折叠的表格样式,以便更好地展示数据。本文…

    编程 2025-04-29
  • 如何使用HTML修改layui内部样式影响全局

    如果您想要使用layui来构建一个美观的网站或应用,您可能需要使用一些自定义CSS来修改layui内部组件的样式。然而,修改layui组件的样式可能会对整个页面产生影响,甚至可能破…

    编程 2025-04-29
  • Python根据表格数据生成折线图

    本文将介绍如何使用Python根据表格数据生成折线图。折线图是一种常见的数据可视化图表形式,可以用来展示数据的趋势和变化。Python是一种流行的编程语言,其强大的数据分析和可视化…

    编程 2025-04-29
  • Python 图片转表格

    本文将详细介绍如何使用Python将图片转为表格。大家平时在处理一些资料的时候难免会遇到图片转表格的需求。比如从PDF文档中提取表格等场景。当然,这个功能也可以通过手动复制、粘贴,…

    编程 2025-04-29
  • python爬取网页并生成表格

    本文将从以下几个方面详细介绍如何使用Python爬取网页数据并生成表格: 一、获取网页数据 获取网页数据的一般思路是通过HTTP请求获取网页内容,最常用的方式是使用Python库r…

    编程 2025-04-28
  • 网页防篡改的重要性和市场占有率

    网页防篡改对于保护网站安全和用户利益至关重要,而市场上针对网页防篡改的产品和服务也呈现出不断增长的趋势。 一、市场占有率 据不完全统计,目前全球各类网页防篡改产品和服务的市场规模已…

    编程 2025-04-28
  • Python如何做表格为中心

    本文将从多个方面详细阐述Python如何做表格,包括表格的创建、数据的插入、表格的样式设置等内容。 一、创建表格 要在Python中创建表格,我们可以使用第三方库Pandas。具体…

    编程 2025-04-28
  • Python编程实战:用Python做网页与HTML

    Python语言是一种被广泛应用的高级编程语言,也是一种非常适合于开发网页和处理HTML的语言。在本文中,我们将从多个方面介绍如何用Python来编写网页和处理HTML。 一、Py…

    编程 2025-04-28
  • Python爬取网页信息

    本文将从多个方面对Python爬取网页信息做详细的阐述。 一、爬虫介绍 爬虫是一种自动化程序,可以模拟人对网页进行访问获取信息的行为。通过编写代码,我们可以指定要获取的信息,将其从…

    编程 2025-04-28
  • 52周存钱法表格图100元

    52周存钱法是一种有效的储蓄方法,它能够帮助人们规律性地储蓄并实现财务目标。针对这种储蓄方法,我们可以使用表格来更加直观地记录储蓄进度,并且可以通过代码实现,给用户提供更加便捷的服…

    编程 2025-04-27

发表回复

登录后才能评论