Атрибут class тега <colgroup>


Описание

Атрибут class для тега <colgroup> позволяет назначать один или несколько CSS-классов для группы столбцов таблицы. Это дает возможность применять стили ко всем столбцам в группе одновременно, что особенно полезно для сложных таблиц с различным оформлением колонок.

Пример использования:
<style> .highlight-columns { background-color: #f0f8ff; } .numeric-data { text-align: right; font-family: monospace; } </style> <table border="1"> <colgroup class="highlight-columns numeric-data"></colgroup> <colgroup></colgroup> <tr> <td>123.45</td> <td>Обычный текст</td> </tr> </table>

Особенности работы:

Аспект Описание Примечание
Множественные классы Можно указать несколько классов через пробел class="class1 class2"
Наследование Стили применяются ко всем ячейкам в группе столбцов Включая заголовочные ячейки <th>
Специфичность Может быть переопределен стилями для отдельных ячеек Приоритет у более конкретных селекторов

Рекомендации по использованию:

  • Используйте для группового оформления связанных столбцов
  • Давайте классам семантические имена (не связанные с оформлением)
  • Сочетайте с атрибутом span для стилизации нескольких столбцов
  • Применяйте для логической группировки столбцов (например, "financial-data", "user-info")
  • Используйте вместе с CSS-переменными для гибкости

Пример сложного использования:

<style> .financial { background-color: var(--financial-bg, #f9f9f9); font-weight: bold; } .editable { outline: 1px dashed #ccc; } </style> <table> <colgroup class="financial" span="2"></colgroup> <colgroup class="editable"></colgroup> <tr> <td>Доход</td> <td>Расход</td> <td contenteditable>Комментарий</td> </tr> </table>

Совместимость с JavaScript:

<script> // Добавление класса через JavaScript document.querySelector('colgroup').classList.add('new-class'); // Обработка событий для группы столбцов document.querySelectorAll('.editable-colgroup').forEach(group => { group.addEventListener('mouseover', () => { group.style.backgroundColor = '#ffe0e0'; }); }); </script>

Важные замечания:

  • Классы применяются ко всем ячейкам в группе столбцов
  • Не все CSS-свойства работают для элементов <colgroup> и <col>
  • Для лучшей производительности избегайте избыточного количества классов
  • Используйте префиксы или BEM-методологию для больших проектов
  • Тестируйте отображение в разных браузерах

Пример с медиазапросами:

<style> @media (max-width: 600px) { .responsive-columns { background-color: #f0f0f0; } } </style> <table> <colgroup class="responsive-columns"></colgroup> <tr> <td>Адаптивный контент</td> </tr> </table>

Примечание: Атрибут class является стандартным способом группового оформления столбцов таблицы и работает во всех современных браузерах. Для сложных табличных интерфейсов рекомендуется комбинировать классы с другими HTML-атрибутами и CSS-селекторами.