Поскольку вы устанавливаете фиксированное значение для вашего столбца, вы можете просто настроить background-size
, чтобы иметь размер обоих столбцов, и настроить background-position
.Чтобы быть более точным, вы также должны учитывать border-spacing
и границу (в вашем случае у вас есть 2px
интервал между границами и 4px
всего для границ)
table, th, td {
border: 1px solid black;
}
.date {
-webkit-column-width: 100px; /* Chrome, Safari, Opera */
-moz-column-width: 100px; /* Firefox */
column-width: 100px;
background: linear-gradient(90deg, red, yellow) left/206px 100%;
}
.time {
-webkit-column-width: 100px; /* Chrome, Safari, Opera */
-moz-column-width: 100px; /* Firefox */
column-width: 100px;
background: linear-gradient(90deg, red, yellow) right/206px 100%;
}
<table>
<tr>
<th>Monthly Savings</th>
<th>Date</th>
<th>Time</th>
<th>Paper</th>
<th>Pen</th>
</tr>
<tr>
<td>January</td>
<td class="date">21/1/2019</td>
<td class="time">10:13</td>
<td>white</td>
<td>Black</td>
</tr>
<tr>
<td>February</td>
<td class="date">22/2/2019</td>
<td class="time">10:23</td>
<td>Black</td>
<td>white</td>
</tr>
<tr>
<td>March</td>
<td class="date">3/3/2019</td>
<td class="time">3:23</td>
<td>blue</td>
<td>red</td>
</tr>
</table>
Это также будет работать, если вы измените ширину столбцов, просто убедитесь, что сумма соблюдается:
table, th, td {
border: 1px solid black;
}
.date {
-webkit-column-width: 50px; /* Chrome, Safari, Opera */
-moz-column-width: 50px; /* Firefox */
column-width: 50px;
background: linear-gradient(90deg, red, yellow) left/126px 100%;
}
.time {
-webkit-column-width: 70px; /* Chrome, Safari, Opera */
-moz-column-width: 70px; /* Firefox */
column-width: 70px;
background: linear-gradient(90deg, red, yellow) right/126px 100%;
}
<table>
<tr>
<th>Monthly Savings</th>
<th>Date</th>
<th>Time</th>
<th>Paper</th>
<th>Pen</th>
</tr>
<tr>
<td>January</td>
<td class="date">21/1/2019</td>
<td class="time">10:13</td>
<td>white</td>
<td>Black</td>
</tr>
<tr>
<td>February</td>
<td class="date">22/2/2019</td>
<td class="time">10:23</td>
<td>Black</td>
<td>white</td>
</tr>
<tr>
<td>March</td>
<td class="date">3/3/2019</td>
<td class="time">3:23</td>
<td>blue</td>
<td>red</td>
</tr>
</table>
Вы можете легко изменить любой цвет и настроить остановку цвета так, как вы хотите:
table, th, td {
border: 1px solid black;
}
.date {
-webkit-column-width: 50px; /* Chrome, Safari, Opera */
-moz-column-width: 50px; /* Firefox */
column-width: 50px;
background: linear-gradient(90deg, red 10%, green 20%,blue 50%,pink) left/126px 100%;
}
.time {
-webkit-column-width: 70px; /* Chrome, Safari, Opera */
-moz-column-width: 70px; /* Firefox */
column-width: 70px;
background: linear-gradient(90deg, red 10%, green 20%,blue 50%,pink) right/126px 100%;
}
<table>
<tr>
<th>Monthly Savings</th>
<th>Date</th>
<th>Time</th>
<th>Paper</th>
<th>Pen</th>
</tr>
<tr>
<td>January</td>
<td class="date">21/1/2019</td>
<td class="time">10:13</td>
<td>white</td>
<td>Black</td>
</tr>
<tr>
<td>February</td>
<td class="date">22/2/2019</td>
<td class="time">10:23</td>
<td>Black</td>
<td>white</td>
</tr>
<tr>
<td>March</td>
<td class="date">3/3/2019</td>
<td class="time">3:23</td>
<td>blue</td>
<td>red</td>
</tr>
</table>