我当前正在创建一个表,希望将标题行和第一列固定在其中。我希望它使行交替显示颜色(这是我实现的)。但是,在滚动表时,第一列会像这样与主体重叠;
第一列重叠体
我可以通过为第一列提供背景色来克服重叠的问题,但是后来我很难改变行的颜色。我尝试使用: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;
}
提前谢谢您
只需添加
tbody tr:nth-child(odd) th {
background-color: red;
font-weight: 100;
}
tbody tr:nth-child(even) th {
background-color: #343434;
font-weight: 100;
}
我猜这应该为您解决
您不远。这是一个简单的示例
您想要的是table > tbody > tr:nth-child(odd) {
background-color: red;
}