Единственное, что сделало бы дефис не, отображаться в том же положении на всех строках, что числа с обеих сторон могут иметь разную ширину. (Форматирование таблицы заботится обо всем остальном.) Но это сложно. HTML и CSS в теории позволяют выравнивать ячейки столбца с определенным символом. На практике это никогда не было реализовано ни в одном браузере.
Способ справиться с этим состоит в том, чтобы разбить столбец, содержащий оценки, на три столбца (или два). Вместо <td>12 - 0</td>
у вас будет <td>12</td> <td>-</td> <td>0</td>
. Затем вы можете поместить столбцы по своему желанию. Детали в значительной степени зависят от стиля в целом. В следующем примере я удалил фиксированную ширину, чтобы ширина столбца таблицы определялась браузером.
Кстати, оценки лучше написаны с помощью en dash, а не дефисом, и без интервала, например. 2-3, а не 2 - 3. Тем не менее, можно использовать небольшой интервал. Я упоминаю об этом, поскольку такие вопросы необходимо решить, прежде чем рассматривать детали стилизации.
.match-table {
border:1px solid;
height: 38px;
}
.match-icon {
height: 38px;
}
.match-time {
height: 38px;
text-align: right;
}
td {
padding-left: 0.1em;
padding-right: 0.2em;
}
td:nth-child(3), td:nth-child(5) {
text-align: right;
}
<table cellspacing="0" cellpadding="0" class="match-table"><tbody>
<tr class="tr-first odd">
<td class="match-icon" >PBL</td>
<td class="team-home">Everton</td>
<td>2</td> <td>-</td> <td>3</td>
<td class="team-away bold" ><span class="padl">Manchester United<span class="racard racard1"> </span></span></td>
<td class="match-time">22:00</td>
<tr class="tr-first odd">
<td class="match-icon" >XY</td>
<td class="team-home">Foo</td>
<td>12</td> <td>-</td> <td>0</td>
<td class="team-away bold" ><span class="padl">Bar<span class="racard racard1"> </span></span></td>
<td class="match-time">9:00</td>
</tr>
</tbody>
</table>
Дайте каждому классу 'td' фиксированную/относительную (относительную% к таблице) ширину – Playmaker