Устранение нежелательных границ ячеек таблицы в CSS
Быстрый ответ
Для создания таблицы без границ примените к элементам <td> и <th> стиль border: 0;, а к <table> — border-collapse: collapse;:
table {
  border-collapse: collapse;
}
td, th {
  border: 0; // И границы исчезают!
}
Если вы хотите сохранить некоторые границы, настройте их отдельно. Например, с помощью border-bottom: 1px solid black; можно создать тонкие границы для подчёркивания.

CSS – методы для удаления границ таблиц
Стилизация таблиц без границ — распространённая задача, которую можно сверить с помощью нескольких основных CSS-правил:
Использование свойства border-collapse
Свойство border-collapse: collapse; устраняет нежелательные границы и стандартные интервалы между ячейками.
table {
  border-collapse: collapse; // Объединяет границы, позволяет вам контролировать их
}
Очистка границ с приоритетом с помощью ‘!important’
С помощью border-style: hidden!important вы зададите высокий приоритет скрытию границ, сравнимый с эффектом туза в рукаве.
td, th {
  border-style: hidden!important; // Скрывает границы как волшебным пасом
}
Устранение внутренних отступов и полей
Чтобы внутренние поля не создавали иллюзию границ, присвойте элементу <table> атрибуты border="0" cellpadding="0" cellspacing="0". Это полностью уберёт предустановленные рамки и отступы.
<table border="0" cellpadding="0" cellspacing="0">
  <!-- ваш контент -->
</table>
Отдельное форматирование для thead и tbody
Разделите <thead> и <tbody>, чтобы получить возможность менять стили заголовков и содержимого таблицы без использования границ.
<table>
  <thead>
    <!-- заголовки -->
  </thead>
  <tbody>
    <!-- данные -->
  </tbody>
</table>
Визуализация
Проведём аналогию каждой ячейки с участком на карте города:
Город:      Дорога = Граница
🌆1️⃣🛣️||🛣️2️⃣🌇
🏞️3️⃣🛣️||🛣️4️⃣🏞️
== нежелательные участки == 🚫
Применим CSS для удаления границ:
td {
  border: none; /* До свидания, нежелательные границы! */
}
И вот, у нас город без границ:
Город:
🌆1️⃣   2️⃣🌇
🏞️3️⃣   4️⃣🏞️
== порядок и гармония на земельных участках ==
Решение проблем с границами в различных браузерах
При стилизации таблиц без границ иногда выявляются особенности работы разных браузеров. Вот несколько полезных советов:
Проблема с border-spacing
Свойство border-spacing: 0; помогает бороться с пространством между ячейками, однако при работе со старыми версиями Internet Explorer результат может быть непредсказуемым.
table {
  border-spacing: 0; // Объединяет ячейки, как объятия
}
Фоновые цвета для структурирования таблицы
Разделение секций таблицы фоновыми цветами может компенсировать отсутствие границ.
thead tr, tbody tr:nth-child(odd) {
  background-color: #f2f2f2; // Создаёт аккуратный вид
}
Тактика использования ‘cellpadding’
Атрибут cellpadding может быть весьма полезным для регулировки внутренних отступов ячеек без видимых границ, вместо отступов.
<table cellpadding="0">
  <!-- ваш элементный контент -->
</table>
Полезные материалы
- CSS Styling Tables — Подробное руководство от W3Schools по оформлению таблиц с помощью CSS.
- A Complete Guide to the Table Element | CSS-Tricks — Комплексное руководство CSS-Tricks по работе с таблицами.
- border-collapse – CSS: Cascading Style Sheets | MDN — MDN Web Docs объясняет использование border-collapseдля корректного отображения таблиц.
- css – Word-wrap in an HTML table – Stack Overflow — На Stack Overflow обсуждается вопрос об переносе текста в таблицах.
- Top 10 CSS Table Designs — Smashing Magazine — Smashing Magazine представляет десятку лучших дизайнов таблиц.
- css – Should I use border: noneorborder: 0? – Stack Overflow — Пользователи Stack Overflow обмениваются советами по удалению границ.


