我目前正在研究从背景到背景渐变的悬停过渡。但我希望它更改表行,但会更改表的整个背景。
这里是JSFiddle,以显示当您将鼠标悬停在表格行上时发生的情况
我尝试使用显示块,该显示块通过过渡来更改表行的背景,但随后却弄乱了整个表行。
表的背景改变了,但是只需要改变表的行。
.container #table {
width: 100%;
font-weight: bold;
border-spacing: 0px 15px;
}
.container #table tr {
position: relative;
background-color: #273240;
z-index: 1;
}
.container #table tr::before {
position: absolute;
content: "";
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to right, #0089e0, #c0c1c1);
z-index: -1;
transition: opacity 0.5s linear;
opacity: 0;
}
.container #table tr:hover::before {
opacity: 1;
}
.container #table tr th {
height: 35px;
font-size: 10px;
text-align: left;
font-weight: bold;
text-transform: uppercase;
background-color: #273240;
}
.container #table tr th:nth-child(n+5) {
width: 75px;
}
.container #table tr td {
padding: 0px;
font-size: 12px;
font-style: italic;
}
.container #table tr td:first-child {
width: 25px;
font-style: normal;
font-weight: 500;
padding-left: 25px;
}
.container #table tr td div {
max-height: 70px;
padding: 25px 0px;
transition: max-height 0.5s, padding 0.5s;
}
.container #table tr td i {
font-size: 12px;
}
<div class="container">
<table id="table">
<tr>
<th></th>
<th>POS</th>
<th>TEAM</th>
<th>DRIVER</th>
<th>MUG</th>
<th>SPA</th>
<th>BRN</th>
<th>POR</th>
<th>BAR</th>
<th>TOT</th>
</tr>
<tbody>
<tr>
<td></td>
<td>1ST</td>
<td>PROSPORT PERFORMANCE (85)</td>
<td>ROBERT RENAUER</td>
<td>24</td>
<td>28</td>
<td>33</td>
<td>-</td>
<td>-</td>
<td>85</td>
</tr>
</tbody>
</table>
</div>
答案 0 :(得分:1)
改为在th
/ td
上设置背景和伪元素,并使用background-attachment:fixed
模拟连续的背景:
.container #table {
width: 100%;
font-weight: bold;
border-spacing: 0px 15px;
}
.container #table tr >* {
position: relative;
background-color: #273240;
z-index: 1;
}
.container #table tr > *::before {
position: absolute;
content: "";
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to right, #0089e0, #c0c1c1) fixed;
z-index: -1;
transition: opacity 0.5s linear;
opacity: 0;
}
.container #table tr:hover > *::before {
opacity: 1;
}
.container #table tr th {
height: 35px;
font-size: 10px;
text-align: left;
font-weight: bold;
text-transform: uppercase;
background-color: #273240;
}
.container #table tr th:nth-child(n+5) {
width: 75px;
}
.container #table tr td {
padding: 0px;
font-size: 12px;
font-style: italic;
}
.container #table tr td:first-child {
width: 25px;
font-style: normal;
font-weight: 500;
padding-left: 25px;
}
<div class="container">
<table id="table">
<tr>
<th></th>
<th>POS</th>
<th>TEAM</th>
<th>DRIVER</th>
<th>MUG</th>
<th>SPA</th>
<th>BRN</th>
<th>POR</th>
<th>BAR</th>
<th>TOT</th>
</tr>
<tbody>
<tr>
<td></td>
<td>1ST</td>
<td>PROSPORT PERFORMANCE (85)</td>
<td>ROBERT RENAUER</td>
<td>24</td>
<td>28</td>
<td>33</td>
<td>-</td>
<td>-</td>
<td>85</td>
</tr>
</tbody>
</table>
</div>