По первому вопросу: создайте классы, которые вы назначаете каждому col
умн.Довольно просто.
Выравнивание текста немного сложнее, поскольку вы можете назначить только несколько свойств столбцам таблицы в целом.В этом случае одним из решений будет использование псевдокласса nth-child
, но это особенность CSS 3, которая не работает ни в одной из текущих версий Internet Explorer.Поскольку этот ответ предлагает, вы также можете использовать комбинатор +
для стилизации соседних столбцов.Это функция CSS 2.1 , поддерживаемая IE> = 7 .
<!DOCTYPE html>
<head>
<meta charset=UTF-8>
<title>Column styling</title>
<style>
table {
table-layout: fixed;
width: 1000px;
}
.firstColumn {
width: 20%;
background: #ccc;
}
.otherColumns {
width: 40%;
background: #eee;
}
td { text-align: left }
td+td { text-align: right }
td+td+td { text-align: center }
</style>
</head>
<body>
<table>
<col class="firstColumn">
<col class="otherColumns">
<col class="otherColumns">
<tr>
<td>bla</td>
<td>bla</td>
<td>bla</td>
</tr>
<tr>
<td>bla</td>
<td>bla</td>
<td>bla</td>
</tr>
<tr>
<td>bla</td>
<td>bla</td>
<td>bla</td>
</tr>
</table>
</body>
</html>