Атрибут rules тега <table>


Описание

Атрибут rules для тега <table> является устаревшим в HTML5 и определяет, какие внутренние границы между ячейками должны отображаться. В современных стандартах рекомендуется использовать CSS для управления границами.

Важно: Атрибут rules считается устаревшим (deprecated) и его использование не рекомендуется в новых проектах.

Исторические значения атрибута rules:

Значение Описание
none Нет внутренних границ
groups Границы только между группами (thead, tbody, tfoot)
rows Границы только между строками
cols Границы только между колонками
all Границы между всеми ячейками

Современные CSS-альтернативы:

CSS-подход Пример Описание
Границы для всех ячеек td, th { border: 1px solid #ddd; } Аналог rules="all"
Границы между строками tr { border-bottom: 1px solid #ddd; } Аналог rules="rows"
Границы между колонками td, th { border-right: 1px solid #ddd; }
td:last-child, th:last-child { border-right: none; }
Аналог rules="cols"
Границы между группами thead, tbody, tfoot { border-top: 2px solid #333; } Аналог rules="groups"

Пример правильного оформления:

<style> .table-rules-rows { border-collapse: collapse; width: 100%; } .table-rules-rows tr { border-bottom: 1px solid #dee2e6; /* Аналог rules="rows" */ } .table-rules-rows td { padding: 8px; } .table-rules-groups { border-collapse: collapse; width: 100%; margin-top: 20px; } .table-rules-groups thead { border-bottom: 2px solid #333; /* Граница после заголовка */ } .table-rules-groups tfoot { border-top: 2px solid #333; /* Граница перед подвалом */ } </style> <table class="table-rules-rows"> <tr> <td>Строка 1</td> <td>Данные</td> </tr> <tr> <td>Строка 2</td> <td>Данные</td> </tr> </table> <table class="table-rules-groups"> <thead> <tr><th>Заголовок</th></tr> </thead> <tbody> <tr><td>Данные</td></tr> </tbody> <tfoot> <tr><td>Итого</td></tr> </tfoot> </table>

Рекомендации:

  • Всегда используйте border-collapse: collapse для согласованного отображения
  • Для сложных таблиц комбинируйте разные стили границ
  • Используйте семантические HTML-элементы (thead, tbody, tfoot)
  • Создавайте CSS-классы для разных типов границ

Ограничения устаревшего подхода:

  • Ограниченный контроль над стилем границ
  • Невозможность тонкой настройки внешнего вида
  • Плохая поддержка в адаптивном дизайне
  • Конфликты с современными CSS-стилями

Примечание: Для создания сложных таблиц с чередующимися стилями границ используйте CSS-селекторы типа :nth-child() и комбинируйте разные стили border.