第一列的替代颜色

问题描述 投票:0回答:1

我当前正在创建一个表,希望将标题行和第一列固定在其中。我希望它使行交替显示颜色(这是我实现的)。但是,在滚动表时,第一列会像这样与主体重叠;

第一列重叠体

enter image description here

我可以通过为第一列提供背景色来克服重叠的问题,但是后来我很难改变行的颜色。我尝试使用:nth-​​child(奇数和偶数),但是没有运气,相反,它为整列着色。有谁知道是否有可能实现这一目标?

到目前为止,我的进度为codepen

https://codepen.io/fizaan-rasool/pen/xxbOrJo?editors=1100

    <div>
      <table>
        <thead>
          <tr>
            <th></th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
            <th>head</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th>head</th>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
          </tr>
          <tr>
            <th>head</th>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
          </tr>
          <tr>
            <th>head</th>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
          </tr>
          <tr>
            <th>head</th>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
            <td>body</td>
          </tr>
        </tbody>
      </table>
    </div>

CSS:

    div {
      min-width: 100%;
      overflow: scroll;
      position: relative;
      background-color: #3D3D3D;
      border-radius: 15px;
      color: white;
      font-family: Helvetica;
      font-weight: 100;
      height: 150px;
    }

    table {
      position: relative;
      border-collapse: collapse;
    }

    td, th {
      padding: 0.25em;
      min-width: 100px;
    }

    th:first-child {
      z-index: 100;
    /*   background: #3d3d3d; */
    }

    /* tbody th:nth-child(n+0){
      color: green;
    } */

    /* tbody tr th:nth-child(odd) {
      background-color: green;
    } */

    thead th {
      position: -webkit-sticky; /* for Safari */
      position: sticky;
      top: 0;
      color: #76A8B0;
      background-color: #343434;
      font-weight: 100;
    }

    thead th:first-child {
      left: 0;
      z-index: 100;
      height: 30px;
      background-color: #343434;
    }

    tbody th {
      position: -webkit-sticky; /* for Safari */
      position: sticky;
      left: 0;
      height: 30px;
      z-index: 100;
    }

    tbody th:nth-child(odd) {
      font-weight: 100;
      z-index: 100;
    }

    tr:nth-child(even){
      background-color: #343434;
      z-index: 10;
    }

    tbody tr:nth-child(odd) {
      background-color: red;
    }

    thead {
      text-align: left;
    }

提前谢谢您

css sass css-selectors
1个回答
0
投票

只需添加

tbody tr:nth-child(odd) th {
    background-color: red;
    font-weight: 100;
}

tbody tr:nth-child(even) th {
    background-color: #343434;
    font-weight: 100;
}

我猜这应该为您解决


0
投票

您不远。这是一个简单的示例

您想要的是table > tbody > tr:nth-child(odd) { background-color: red; }

https://jsfiddle.net/omf6904v/

© www.soinside.com 2019 - 2024. All rights reserved.