技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類目錄

贊助商

最新文章

搜索

純CSS固定Table表格第一行(表頭)、最后一行以及第一列

作者:admin    時(shí)間:2023-3-31 9:52:55    瀏覽:

關(guān)于table表格固定行、列的實(shí)例,前面介紹過(guò)一些。

本文要介紹的實(shí)例,又進(jìn)了一步,要求同時(shí)固定Table表格的第一行(表頭)、最后一行以及第一列。

效果如圖

demodownload

實(shí)例介紹

本實(shí)例是純CSS實(shí)現(xiàn),可水平、垂直滾動(dòng)table表格。水平滾動(dòng)時(shí),固定表格第一列;垂直滾動(dòng)時(shí),固定表格第一行和最后一個(gè)行。

HTML代碼

HTML代碼結(jié)構(gòu)比較簡(jiǎn)單,可分為三個(gè)部分理解。

  • <thead></thead> 為表格表頭(第一行)
  • <tfoot></tfoot> 為表格最后一行
  • <tbody></tbody> 為表格第一列

代碼如下:

<table>
  <thead>
    <tr>
      <th>name</th>
      <th>#</th>
      <th>position</th>
      <th>games</th>
      <th>goals</th>
      <th>assists</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <th>name</th>
      <th>#</th>
      <th>position</th>
      <th>games</th>
      <th>goals</th>
      <th>assists</th>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td>morgan brian</td>
      <td>6</td>
      <td>midfielder</td>
      <td>83</td>
      <td>6</td>
      <td>11</td>
    </tr>
    <tr>
      <td>abby dahlkemper</td>
      <td>7</td>
      <td>defender</td>
      <td>47</td>
      <td>0</td>
      <td>3</td>
    </tr>
  </tbody>
</table>

CSS代碼

table {
  border-collapse: collapse; 
  font-family: helvetica;
  caption-side: top;
  text-transform: capitalize;
}

td, th {
border:  1px solid;
padding: 10px;
min-width: 200px;
background: white;
box-sizing: border-box;
text-align: left;
}

th {
  box-shadow: 0 0 0 1px black;
}

thead th, 
tfoot th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  background: hsl(20, 50%, 70%);
}

thead th:first-child,
tfoot th:first-child {
  left: 0;
  z-index: 3;
}

tfoot {
  position: -webkit-sticky;
  bottom: 0;
  z-index: 2;
}

tfoot th {
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: hsl(20, 50%, 70%);
}

tfoot td:first-child {
  z-index: 3;
}

tbody {
  overflow: scroll;
  height: 200px;
}

tr > :first-child {
  position: -webkit-sticky;
  position: sticky; 
  background: hsl(180, 50%, 70%);
  left: 0; 
}

固定表格行(列)的關(guān)鍵代碼是position: sticky;這個(gè)屬性,它聲明該位置是粘性的,即是固定的。

代碼中我們看到thead thtfoot th都有該屬性聲明,thead為第一行,tfoot為最后一行。

tr > :first-child 為第一列,它同樣聲明了position: sticky;屬性。

tbody為表格內(nèi)容行,它定義了高度為200px:height: 200px;,同時(shí),它聲明了overflow: scroll;屬性,意思是溢出內(nèi)容滾動(dòng)顯示。

總結(jié)

本文介紹了如何用純CSS固定Table表格第一行(表頭)、最后一行以及第一列,代碼比較簡(jiǎn)單易理解,主要是使用了CSS的粘性屬性position: sticky;。

您可能對(duì)以下文章也感興趣

相關(guān)文章

標(biāo)簽: table  
x
  • 站長(zhǎng)推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */