Тег <colgroup> идентичен тегу <col>.
Разница между ними лишь в том, что при использовании атрибута rules="groups" тега <table>, вертикальные границы будут определены только между колонками/группами колонок, объединенными с помощью тега <colgroup>.
Закрывающий тег
Не требуется
По атрибутам смотрите тег <col>
Пример
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Тег colgroup </title>
</head>
<body>
<table width="500" border="1" rules="groups" height="50">
<caption> <p> В этой таблице мы дважды воспользовались тегом colgroup. <br>
В первом случае тег colgroup применен к первым двум колонкам: ширина колонок 40
пикселей. <br>
Во втором случае - к следующим трем колонкам: ширина колонок по 100 пикселей.<br>
Таким образом мы имеем две группы колонок, между которыми определены вертикальные
границы с помощью атрибута rules="groups" тега table </p> </caption>
<colgroup span="2" width="40">
<colgroup span="3" width="100" align="center">
<tr>
<td> 1 </td>
<td> 2 </td>
<td> 3 </td>
<td> 4 </td>
<td> 5 </td>
<td> 6 </td>
</tr>
</table>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title> Тег colgroup </title>
</head>
<body>
<table width="500" border="1" rules="groups" height="50">
<caption> <p> В этой таблице мы дважды воспользовались тегом colgroup. <br>
В первом случае тег colgroup применен к первым двум колонкам: ширина колонок 40
пикселей. <br>
Во втором случае - к следующим трем колонкам: ширина колонок по 100 пикселей.<br>
Таким образом мы имеем две группы колонок, между которыми определены вертикальные
границы с помощью атрибута rules="groups" тега table </p> </caption>
<colgroup span="2" width="40">
<colgroup span="3" width="100" align="center">
<tr>
<td> 1 </td>
<td> 2 </td>
<td> 3 </td>
<td> 4 </td>
<td> 5 </td>
<td> 6 </td>
</tr>
</table>
</body>
</html>
Результат