優化網頁表格樣式的技巧

一、表格基礎樣式

表格是網頁常用的展示數據的方式,優化表格的樣式可以提升用戶體驗,以下是我們常用的基礎樣式。

table {
  border-collapse: collapse;
  width: 100%;
}

thead {
  background-color: #f1f1f1;
}

th, td {
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #f2f2f2;
}

th {
  background-color: #4CAF50;
  color: white;
}

我們可以利用border-collapse屬性將單元格邊框合併,這樣可以使表格看起來更為整潔。使用width: 100%;屬性使表格寬度佔滿整個父元素。通過thead元素的background-color屬性讓表格表頭區域的顏色有所區別。使用text-align屬性確定單元格中文本的對齊方式,padding屬性增加單元格內部與邊框的間距,background-color屬性增加斑馬線樣式。最後,th元素通過background-color屬性定義表頭單元格的背景色和color屬性定義字體顏色。

二、表格樣式優化

1.增加斑馬線顏色的對比度

默認情況下,斑馬線的顏色與單元格填充顏色相同,因此可能難以識別。為了提高可讀性,應該增加斑馬線顏色的對比度。下面是實現這種效果的 CSS 代碼:

table {
  border-collapse: collapse;
  width: 100%;
}

tr:nth-child(even) {
  background-color: #f2f2f2;
}

tr:nth-child(odd) {
  background-color: #fff;
}

這種方法是使用不同的背景顏色來區分相鄰的行。

2.固定表頭和列

當表格超出屏幕時,用戶必須滾動才能看到全部內容。這種情況下,表頭和列標註可能會離開視圖,變得難以識別。要解決這個問題,可以使用CSS的position:fixed屬性。

table {
  width: 100%;
}

thead {
  position: fixed;
}

tbody tr td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
  border-right: 1px solid #ddd;
}

tbody tr td {
  border-bottom: 1px solid #ddd;
}

這些CSS規則將表頭設置為固定,這樣即使您使用滾動條滾動頁面,表頭也會保持在視圖的頂部。同時,使用position:sticky屬性讓標籤欄也跟隨表頭一起固定,left:0和z-index:1的值則用於確定要固定的列在表格中的位置。background和border-right屬性則用於渲染背景色和右邊框。

3.隱藏邊框和表格線

有時,人們想要實現更加簡潔的表格樣式,這時候去掉邊框和表格線就是一個不錯的選擇。

table {
  border: none;
  width: 100%;
  border-collapse: collapse;
}

td {
  padding: 5px;
  vertical-align: top;
}

td:not(:last-child) {
  border-right: 1px solid #ccc;
}

這些CSS規則會刪除表格周圍的邊框,內部單元格也使用「無邊框」的樣式,同時使用border-right屬性增加了單元格之間的線條。

三、通過JS實現表格樣式

有時候,樣式優化超出了CSS的能力範圍,就需要使用JavaScript修改HTML文檔來實現。以下是一些實現方法:

1.固定表頭

(function () {
  var table = document.querySelector('table');
  var tableHead = table.querySelector('thead');
  var tableBody = table.querySelector('tbody');
  tableHead.style.position = 'fixed';
  tableHead.style.zIndex = 10;
  tableHead.style.backgroundColor = '#fff';
  tableHead.style.top = 0;

  var ths = table.querySelectorAll('th');
  var trs = tableBody.querySelectorAll('tr');

  for(var i=0; i<trs.length; i++) {
    trs[i].querySelector('td:first-child').style.position = 'sticky';
    trs[i].querySelector('td:first-child').style.left = 0;
    trs[i].querySelector('td:first-child').style.background = '#fff';
    trs[i].querySelector('td:first-child').style.zIndex = 1;
    trs[i].querySelector('td:first-child').style.borderRight = '1px solid #ddd';
  }
})();

這段JS代碼選中了HTML文檔中的table標籤,然後找到其thead和tbody元素。使用style屬性將表頭固定在頁面頂部,然後使用循環遍歷表格的每一行,並將第一個單元格(即列標註)固定到表格的左側。

2.調整表格寬度

(function() {
  var ths = document.querySelectorAll('th');
  var trs = document.querySelectorAll('tr');
  var tds = document.querySelectorAll('td');
  var widths = [];

  for (let i = 0; i < trs.length; i++) {
    var row = trs[i];
    for (let j = 0; j  widths[j]) {
        widths[j] = cell.clientWidth;
      }
    }
  }

  for (let i = 0; i < ths.length; i++) {
    var th = ths[i];
    th.style.width = `${widths[i]}px`;
  }

  for (let i = 0; i < trs.length; i++) {
    var tds = trs[i].querySelectorAll('td');
    for (let j = 0; j < tds.length; j++) {
      var td = tds[j];
      td.style.width = `${widths[j]}px`;
    }
  }
})();

這段JS代碼處理表格寬度,遍歷了HTML文檔中的所有表格行和單元格。通過clientWidth屬性確定了每個單元格的寬度,然後將寬度賦值給列標籤和每個表格單元格。這樣表格看起來就更舒適和整潔。

四、總結

通過上述技巧,可以大幅優化網頁中表格的樣式,提升頁面的用戶體驗。正確的表格樣式可以吸引用戶的視線,幫助用戶更快更好地了解數據,而無論是通過CSS還是JavaScript,優化表格樣式都是十分容易的。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237718.html

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

相關推薦

  • 使用vscode建立UML圖的實踐和技巧

    本文將重點介紹在使用vscode在軟體開發中如何建立UML圖,並且給出操作交互和技巧的指導。 一、概述 在軟體開發中,UML圖是必不可少的重要工具之一。它為軟體架構和各種設計模式的…

    編程 2025-04-29
  • 使用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
  • 優秀周記1000字的撰寫思路與技巧

    優秀周記是每個編程開發工程師記錄自己工作生活的最佳方式之一。本篇文章將從周記的重要性、撰寫思路、撰寫技巧以及周記的示例代碼等角度進行闡述。 一、周記的重要性 作為一名編程開發工程師…

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • Python如何做表格為中心

    本文將從多個方面詳細闡述Python如何做表格,包括表格的創建、數據的插入、表格的樣式設置等內容。 一、創建表格 要在Python中創建表格,我們可以使用第三方庫Pandas。具體…

    編程 2025-04-28
  • Python編程實戰:用Python做網頁與HTML

    Python語言是一種被廣泛應用的高級編程語言,也是一種非常適合於開發網頁和處理HTML的語言。在本文中,我們將從多個方面介紹如何用Python來編寫網頁和處理HTML。 一、Py…

    編程 2025-04-28

發表回復

登錄後才能評論