如何優化網頁表格的樣式?

一、設置表格樣式

為了使表格更美觀清晰,我們可以添加 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/zh-hant/n/241291.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:28
下一篇 2024-12-12 12:28

相關推薦

  • 使用Treeview顯示錶格

    在web開發中,顯示錶格數據是一項很常見的需求。當我們需要在頁面上顯示大量數據時,除了使用傳統的表格樣式外,還可以使用Treeview這種可摺疊的表格樣式,以便更好地展示數據。本文…

    編程 2025-04-29
  • Python根據表格數據生成折線圖

    本文將介紹如何使用Python根據表格數據生成折線圖。折線圖是一種常見的數據可視化圖表形式,可以用來展示數據的趨勢和變化。Python是一種流行的編程語言,其強大的數據分析和可視化…

    編程 2025-04-29
  • 如何使用HTML修改layui內部樣式影響全局

    如果您想要使用layui來構建一個美觀的網站或應用,您可能需要使用一些自定義CSS來修改layui內部組件的樣式。然而,修改layui組件的樣式可能會對整個頁面產生影響,甚至可能破…

    編程 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

發表回復

登錄後才能評論