Установить заполнение ячеек и расстояние между ячейками в CSS?

В таблице HTML cellpadding и cellspacing могут быть установлены следующим образом:

<table cellspacing = "1" cellpadding = "1">

Как сделать то же самое с помощью CSS?

Просто общее предложение, прежде чем пробовать эти решения, проверьте, выполняет ли ваш style.css «сброс» таблиц. Пример: Если у вас нет таблиц, настроенных на width:auto, тогда border-collapse может работать не так, как ожидалось.

PJ Brunet 01.09.2016 10:12

Используйте border-spacing на table и padding на td.

Anubhav 23.05.2017 12:17
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3 452
2
2 450 460
30
Перейти к ответу Данный вопрос помечен как решенный

Ответы 30

Кроме того, если вам нужен cellspacing = "0", не забудьте добавить border-collapse: collapse в свою таблицу стилей table.

Насколько я знаю, установка полей для ячеек таблицы на самом деле не имеет никакого эффекта. Настоящий CSS-эквивалент для cellspacing - border-spacing, но он не работает в Internet Explorer.

Вы можете использовать border-collapse: collapse, чтобы надежно установить интервал между ячейками равным 0, как уже упоминалось, но для любого другого значения, я думаю, единственный кроссбраузерный способ - продолжать использовать атрибут cellspacing.

В наше время эта реальность в высшей степени отстойна.

John K 09.07.2010 06:36

Это почти правильно, но border-collapse работает только в IE 5-7, если для таблицы еще не определен атрибут cellspacing. Я написал исчерпывающий ответ, который объединяет все правильные части других ответов на этой странице на случай, если это будет полезно.

Eric Nguyen 09.07.2010 06:36

Если честно, кого волнует Internet Explorer? Любой, кто его использует, должен знать, что сломанные веб-сайты - ошибка их - из-за использования такого некачественного браузера. Сайты не должны иметь с этим дело. Пусть заблудится Internet Explorer. Забудьте о поддержке. Нам это не нужно, а развиваться - это боль.

user6516765 14.02.2017 16:29
table
{
    border-collapse: collapse; /* 'cellspacing' equivalent */
}

table td, table th
{
    padding: 0; /* 'cellpadding' equivalent */
}

На самом деле это единственное, что я мог заставить работать на себя, хотя я применил информацию к идентификатору, чтобы не быть слишком общим.

Kzqai 15.11.2011 20:50

Это эквивалент cellspacing=0. Эквивалент для cellspacing=1 совершенно другой. См. Принятый ответ.

TRiG 25.07.2012 18:08

Разве table td и table th не должны быть просто td и th соответственно? Это работает в любом случае, но меньший селектор означает немного более быстрое сопоставление

Cole Johnson 30.01.2013 00:13

@Cole На самом деле, я думаю, это должны быть table > tr > td и table > tr > th. Это почти так же быстро, как tr и th, и гарантированно работает, если у вас есть вложенная таблица. Просто мой 2с

leviathanbadger 13.08.2013 07:41

@ aboveyou00, но нужен ли селектор table? IIRC, <td> недействителен, если он не находится внутри <tr>.

Cole Johnson 13.08.2013 07:43

@Cole Да, но может быть другая таблица, вложенная где-нибудь в ячейку таблицы. Если вы не дадите конкретный класс ячейкам в одной таблице, вы не сможете применить правило только к внешней таблице.

leviathanbadger 13.08.2013 07:52

TBH. Для всех забав с CSS вы можете просто использовать cellpadding = "0"cellspacing = "0", поскольку они не устарели ...

Кто-то другой, предлагающий маржу на <td>, очевидно, не пробовал этого.

На самом деле они устарели в html5.

Kzqai 15.11.2011 20:49
Ответ принят как подходящий

Основы

Для управления "заполнением ячеек" в CSS вы можете просто использовать padding для ячеек таблицы. Например. для 10 пикселей "cellpadding":

td { 
    padding: 10px;
}

Для "ячеек" вы можете применить свойство CSS border-spacing к своей таблице. Например. для 10 пикселей «пространства ячеек»:

table { 
    border-spacing: 10px;
    border-collapse: separate;
}

Это свойство даже позволит разделить интервалы по горизонтали и вертикали, чего нельзя было сделать с помощью "ячеек" старой школы.

Проблемы в IE ≤ 7

Это будет работать почти во всех популярных браузерах, кроме Internet Explorer до Internet Explorer 7, где вам почти не повезло. Я говорю «почти», потому что эти браузеры все еще поддерживают свойство border-collapse, которое объединяет границы соседних ячеек таблицы. Если вы пытаетесь исключить расстояние между ячейками (то есть cellspacing = "0"), то border-collapse:collapse должен иметь тот же эффект: нет места между ячейками таблицы. Однако эта поддержка содержит ошибки, поскольку не отменяет существующий атрибут HTML cellspacing в элементе таблицы.

Вкратце: для браузеров, отличных от Internet Explorer 5-7, border-spacing справится с вами. Для Internet Explorer, если ваша ситуация подходит (вам нужно 0 ячеек, а в вашей таблице он еще не определен), вы можете использовать border-collapse:collapse.

table { 
    border-spacing: 0;
    border-collapse: collapse;
}

Примечание. Подробный обзор свойств CSS, которые можно применить к таблицам и для каких браузеров, см. В этом фантастическая страница Quirksmode.

cellpadding = "0" по-прежнему может иметь значение в Chrome 13.0.782.215, даже если к таблице применены border-collapse: collapse и border-spacing.

whitneyland 25.08.2011 07:01

Это, безусловно, имеет смысл из-за специфики css, поэтому вам может потребоваться применить стили к идентификатору css для максимальной специфичности. Не уверен, что это переопределит значения атрибутов во всех случаях, но это место для начала проверки.

Kzqai 24.10.2011 21:16

@LeeWhitney вам нужно установить padding: 0 в ячейках таблицы.

Martin Ørding-Thomsen 29.11.2011 14:09

Это немного не по теме, но атрибуты cellpadding и cellspacing в HTML5 удалены, так что CSS - единственный выход сейчас.

Ignas2526 22.11.2013 23:10

Всем привет. Я обновил ответ для ясности, включая раздел о добавлении ячеек, который, на мой взгляд, был очевиден (просто используйте «заполнение»). Надеюсь, теперь это более полезно.

Eric Nguyen 16.12.2013 10:27

Это НЕ хороший ответ. Он говорит, что добавьте этот CSS, который применит его ко всем таблицам и ячейкам на странице. Что делать, если у вас есть несколько таблиц на странице и вам нужны разные поля ячеек или интервалы для каждой из них?

vapcguy 26.02.2015 08:21

Правда, @vapcguy, в любой из бесконечно изменяемых других ситуаций, в которых вы можете стилизовать таблицу, вам нужно будет определить более конкретные селекторы. Выше отмечены как примеры.

Eric Nguyen 01.04.2015 23:41

Заполнение по умолчанию не то же самое. Например, если ваша ячейка таблицы имеет цвет фона, то заполнение также будет включать этот фон. Не совсем «расстояние между ячейками». Вот почему это называется «заполнение». Естественно, маржа должна работать с ячейками таблицы, но это не так, и я не тот, кто ее нарушил.

Rolf 06.06.2015 05:12

Обратите внимание, что border-collapse:collapse НЕ эквивалентен cellspacing = "0". В первом случае получается одна линия между ячейками, а во втором - две линии между ячейками.

Martha 05.12.2018 03:21

Для тех, кто хочет ненулевое значение расстояния между ячейками, у меня сработал следующий CSS, но я могу протестировать его только в Firefox.

См. Ссылку Quirksmodeразмещено в другом месте для подробностей совместимости. Похоже, это может не работать со старыми версиями Internet Explorer.

table {
    border-collapse: separate;
    border-spacing: 2px;
}

Этот взлом работает для Internet Explorer 6 и более поздних версий, Гугл Хром, Firefox и Опера:

table {
    border-collapse: separate;
    border-spacing: 10px; /* cellspacing */
    *border-collapse: expression('separate', cellSpacing = '10px');
}

table td, table th {
    padding: 10px; /* cellpadding */
}

Объявление * предназначено для Internet Explorer 6 и 7, и другие браузеры будут его игнорировать.

expression('separate', cellSpacing = '10px') возвращает 'separate', но оба оператора выполняются, так как в JavaScript вы можете передать больше аргументов, чем ожидалось, и все они будут оценены.

для тех, кто пытается реагировать на электронные письма, обратите внимание, что * не распознается Outlook 2007+ (использует слово в качестве механизма рендеринга) campaignmonitor.com/css

ptim 14.09.2013 09:42

Простое решение этой проблемы:

table
{
    border: 1px solid #000000;
    border-collapse: collapse;
    border-spacing: 0px;
}
table td
{
    padding: 8px 8px;
}

По умолчанию

Поведение браузера по умолчанию эквивалентно:

table {border-collapse: collapse;}
td    {padding: 0px;}

         Enter image description here

Cellpadding

Устанавливает расстояние между содержимым ячейки и стенкой ячейки

table {border-collapse: collapse;}
td    {padding: 6px;}

        Enter image description here

Ячейки

Управляет расстоянием между ячейками таблицы

table {border-spacing: 2px;}
td    {padding: 0px;}

        Enter image description here

И то и другое

table {border-spacing: 2px;}
td    {padding: 6px;}

        Enter image description here

Оба (специальные)

table {border-spacing: 8px 2px;}
td    {padding: 6px;}

        Enter image description here

Note: If there is border-spacing set, it indicates border-collapse property of the table is separate.

Попробуй сам!

Здесь вы можете найти старый способ HTML.

Как исчезает интервал вокруг стола? Когда я устанавливаю «border-spacing: 8px 12px, он добавляет интервал не только между, но и между границей таблицы и внешними ячейками! Но это не изображено на изображениях здесь; они находятся на одном уровне с левым краем».

Kaz 19.11.2013 05:14

@ 2astalavista И, к сожалению, если кто-то захочет удалить эффект внешнего интервала, это не сработает с этими атрибутами CSS.

Kaz 19.11.2013 22:07

@Kaz Возможно, вам понадобится использовать отрицательный запас, чтобы скрыть эту раздражающую часть.

user669677 20.11.2013 13:59

Отступ по умолчанию на TD обычно составляет 1 пиксель, а не 0.

Jan M 05.11.2014 18:40

Осторожно: border-spacing:horizontal vertical;, тогда как, например, padding:vertical horizontal;.

Adam Chalcraft 30.10.2020 22:03

Оберните содержимое ячейки с помощью div, и вы можете делать все, что захотите, но вам нужно обернуть каждую ячейку в столбце, чтобы получить однородный эффект. Например, чтобы просто расширить левое и правое поля:

Итак, CSS будет,

div.cellwidener {
  margin: 0px 15px 0px 15px;
}
td.tight {
  padding: 0px;
}
<table border = "0">
  <tr>
    <td class = "tight">
      <div class = "cellwidener">My content</div>
    </td>
  </tr>
</table>

Да, хлопотно. Да, работает с Internet Explorer. Фактически, я тестировал это только с Internet Explorer, потому что это все, что нам разрешено использовать на работе.

Хотел бы я проголосовать больше ... Первый пример, который не повторяет другие, и тот, который показывает, как ограничить эффект одной таблицей или ячейкой, а не всеми ими на странице !!!

vapcguy 26.02.2015 08:25

Насколько я понимаю из классификации W3C, <table> предназначены только для отображения данных.

Основываясь на этом, я обнаружил, что намного проще создать <div> с фоном и всем остальным и иметь таблицу с плавающими над ней данными, используя position: absolute; и background: transparent; ...

Он работает в Chrome, Internet Explorer (6 и новее) и Mozilla Firefox (2 и новее).

Поля используются (или в любом случае предназначены) для создания разделителя между элементами контейнера, такими как <table>, <div> и <form>, а не <tr>, <td>, <span> или <input>. Использование его для чего-либо, кроме элементов контейнера, заставит вас заняться настройкой вашего сайта для будущих обновлений браузера.

OP никогда не указывал, для чего он использовал таблицу.

Alfabravo 11.10.2012 19:24

Я использовал !important после краха-коллапса, как

border-collapse: collapse !important;

и у меня это работает в IE7. Кажется, переопределяет атрибут ячейки.

!important потребуется только для переопределения другие настройки CSS в сложной ситуации (и даже тогда в большинстве случаев это неправильный подход).
Jukka K. Korpela 30.05.2013 14:37

Также повторение ответа Дэна просто добавляет !important, который можно было бы включить в качестве комментария вместо другого ответа.

vapcguy 26.02.2015 08:26

Попробуй это:

table {
    border-collapse: separate;
    border-spacing: 10px;
}
table td, table th {
    padding: 10px;
}

Или попробуйте это:

table {
    border-collapse: collapse;
}
table td, table th {
    padding: 10px;
}

Просто используйте border-collapse: collapse для своего стола и padding для th или td.

table th,td {
    padding: 8px 2px;
}
table {
    border-collapse: separate;
    border-spacing: 2px;
}

CSS:

selector{
    padding:0 0 10px 0; // Top left bottom right 
}

Просто используйте правила заполнения CSS с данными таблицы:

td { 
    padding: 20px;
}

И для интервала между границами:

table { 
    border-spacing: 1px;
    border-collapse: collapse;
}

Однако это может создать проблемы в старых версиях браузеров, таких как Internet Explorer, из-за реализации блочной модели diff.

Этот стиль предназначен для полный сброс таблиц - клетка, расстояние между ячейками и границы.

В моем файле reset.css был такой стиль:

table{
    border:0;          /* Replace border */
    border-spacing: 0px; /* Replace cellspacing */
    border-collapse: collapse; /* Patch for Internet Explorer 6 and Internet Explorer 7 */
}
table td{
    padding: 0px; /* Replace cellpadding */
}
td {
    padding: npx; /* For cellpadding */
    margin: npx; /* For cellspacing */
    border-collapse: collapse; /* For showing borders in a better shape. */
}

Если margin не работает, попробуйте установить display из tr на block, и тогда маржа будет работать.

Как насчет добавления стиля непосредственно в саму таблицу? Это вместо использования table в вашем CSS, что является подходом ПЛОХОЙ, если у вас есть несколько таблиц на вашей странице:

<table style = "border-collapse: separate;border-spacing: 2px;">
    <tr>
        <td style = "padding: 4px 4px;">Some Text</td>
    </tr>
</table>

Помещение «style» в тег таблицы хуже, чем «table # someId» в вашем CSS, поскольку стили должны быть отделены от содержимого. Но главный вопрос в том, как преобразовать устаревший html в правильный css. Что вы сделали правильно, но на самом деле ничего не добавили в свой ответ и сосредоточились на несвязанной проблеме.

Teepeemm 28.03.2015 05:53

Ничего не добавлено ?! Я добавил, чтобы сосредоточиться на том, как каждый другой ответ здесь в основном говорит об использовании td { padding: ... } или table { border-spacing: ... } вместо того, чтобы применять его непосредственно к таблице. Те ничего не добавляют. Как я уже сказал, когда у вас есть несколько таблиц на вашей странице и вы не хотите на них влиять, вы этого не хотите! Нам не нужна целая страница с ответами «Используйте таблицу стилей!», Хотя, возможно, это последнее, что вам нужно, потому что вам нужно форматирование только для одной ячейки или таблицы. Это когда применение его к table или td нежелательно, а создание совершенно нового класса для него - это излишне.

vapcguy 28.03.2015 06:03

В каждом другом ответе используется таблица стилей, потому что исходный вопрос был «как я могу сделать это с помощью css». Если бы вопрос был «как я могу заставить css воздействовать только на эту одну таблицу», то ваш ответ был бы более подходящим (хотя я все же предпочел бы table#someId).

Teepeemm 28.03.2015 07:09

Технически встроенные стили по-прежнему являются CSS, только без использования таблиц стилей, но я понимаю вашу точку зрения.

vapcguy 01.04.2015 03:15

Как насчет того, чтобы просто добавить класс в таблицу?

developerbmw 10.04.2015 00:51

Потому что идея, лежащая в основе класса, заключается в возможности повторного использования. Для одноразового использования это не имеет особого смысла и является излишним, ИМХО.

vapcguy 11.04.2015 11:13

Downvoter, не могли бы объяснить? Что касается других комментариев в пользу table или td в таблице стилей, я все еще считаю это плохой практикой. Если у вас есть только одна таблица, на которую вы хотите повлиять, как я сделал, когда искал это в Google, это последнее, что вам нужно, и почему я опубликовал это. Просто потому, что обычно вы хотите, чтобы все таблицы выглядели точно так же, не означает, что это всегда уместно, поскольку у меня был случай, когда это не было, из-за того, что отображаемые данные занимали непропорционально много места, чем другие мои таблицы и поэтому нужна была другая величина заполнения. Людям нужно мыслить нестандартно и о других вариантах использования.

vapcguy 12.01.2017 20:10

Встроенный CSS - всегда плохая идея. Если вы хотите стилизовать уникальную таблицу, присвойте ей атрибут id и используйте его в CSS: table#id {border-collapse: separate;border-spacing: 2px;} table#id td {padding: 4px 4px;}.

Adam 15.05.2017 11:10

Встроенный всегда плохо? Какие? Для меня ваш ответ просто повторяет все остальные ПЛОХИЕ ответы здесь. Таблица стилей предназначена для всеобъемлющих объектов, а не для единичных экземпляров, поэтому вставлять ее в таблицу стилей, для меня, ЭТО было бы плохой практикой. Вы не хотите, чтобы вам приходилось много прокручивать назад и вперед к своей таблице стилей и обратно к своей одноразовой таблице, чтобы убедиться, что все сделано правильно, и исправить / добавить что-то, когда вы можете сделать это прямо здесь. Не говоря уже о ком-то после того, как вам придется искать свое решение по тому идентификатору, который есть в таблице стилей. Нет ничего плохого в применении единого набора стилей к одной таблице.

vapcguy 18.05.2017 21:16

Для таблиц интервалы между ячейками и заполнение ячеек в HTML 5 устарели.

Теперь для размещения ячеек вам нужно использовать границы. А для cellpadding вы должны использовать border-collapse.

И убедитесь, что вы не используете это в своем коде HTML5. Всегда старайтесь использовать эти значения в файле CSS 3.

<table>
    <tr>
        <th>Col 1</th>
        <th>Col 2</th>
        <th>Col 3</th>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
</table>

cell-padding можно задать с помощью padding в CSS, в то время как cell-spacing можно задать, установив border-spacing для таблицы.

table {
    border-spacing: 10px;
}
td {
    padding: 10px;
}

Скрипка.

table {
    border-spacing: 4px; 
    color: #000; 
    background: #ccc; 
}
td {
    padding-left: 4px;
}

В таблице HTML cellpadding и cellspacing могут быть установлены следующим образом:

Для заполнение ячеек:

Просто назовите простую ячейку td/thpadding.

Пример:

/******Call-Padding**********/

table {
    border-collapse: collapse;
}

td {
  border: 1px solid red;
  padding: 10px;
}
<table>
        <tr>
            <th>Head1 </th>
            <th>Head2 </th>
            <th>Head3 </th>
            <th>Head4 </th>
        </tr>
        <tr>
            <td>11</td>
            <td>12</td>
            <td>13</td>
            <td>14</td>
        </tr>
        <tr>
            <td>21</td>
            <td>22</td>
            <td>23</td>
            <td>24</td>
        </tr>
        <tr>
            <td>31</td>
            <td>32</td>
            <td>33</td>
            <td>34</td>
        </tr>
        <tr>
            <td>41</td>
            <td>42</td>
            <td>43</td>
            <td>44</td>
        </tr>
    </table>
table {
    border-collapse: collapse;
}

td {
  border: 1px solid red;
  padding: 10px;
}

Для расстояние между ячейками

Просто позвоните простому tableborder-spacing

Пример:

/********* Cell-Spacing   ********/
table {
    border-spacing: 10px;
    border-collapse: separate;
}

td {
  border: 1px solid red;
}
<table>
        <tr>
            <th>Head1</th>
            <th>Head2</th>
            <th>Head3</th>
            <th>Head4</th>
        </tr>
        <tr>
            <td>11</td>
            <td>12</td>
            <td>13</td>
            <td>14</td>
        </tr>
        <tr>
            <td>21</td>
            <td>22</td>
            <td>23</td>
            <td>24</td>
        </tr>
        <tr>
            <td>31</td>
            <td>32</td>
            <td>33</td>
            <td>34</td>
        </tr>
        <tr>
            <td>41</td>
            <td>42</td>
            <td>43</td>
            <td>44</td>
        </tr>
    </table>
/********* Cell-Spacing   ********/
table {
    border-spacing: 10px;
    border-collapse: separate;
}

td {
  border: 1px solid red;
}

Больше стиля таблицы по ссылке на источник CSS здесь вы получаете больше стилей таблицы с помощью CSS.

Вы можете просто сделать что-то подобное в своем CSS, используя border-spacing и padding:

table {
  border-collapse: collapse;
}

td, th {
  padding: 1em;
  border: 1px solid blue;
}
<table>
  <tr>
    <th>head_1</th>
    <th>head_2</th>
    <th>head_3</th>
    <th>head_4</th>
  </tr>
  <tr>
    <td>txt_1</td>
    <td>txt_2</td>
    <td>txt_3</td>
    <td>txt_4</td>
  </tr>
</table>

При свертывании границ правило интервала между границами игнорируется.

dgrogan 06.09.2017 22:49

Вы можете легко установить отступ внутри ячеек таблицы, используя свойство CSS padding. Это действительный способ произвести тот же эффект, что и атрибут cellpadding таблицы.

table,
th,
td {
  border: 1px solid #666;
}

table th,
table td {
  padding: 10px;
  /* Apply cell padding */
}
<!DOCTYPE html>
<html lang = "en">
<head>

  <meta charset = "utf-8">
  <title>Set Cellpadding in CSS</title>

</head>

<body>

  <table>
    <thead>
      <tr>
        <th>Row</th>
        <th>First Name</th>
        <th>Last Name</th>
        <th>Email</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>1</td>
        <td>Clark</td>
        <td>Kent</td>
        <td>[email protected]</td>
      </tr>
      <tr>
        <td>2</td>
        <td>Peter</td>
        <td>Parker</td>
        <td>[email protected]</td>
      </tr>
      <tr>
        <td>3</td>
        <td>John</td>
        <td>Rambo</td>
        <td>[email protected]</td>
      </tr>
    </tbody>
  </table>

</body>
</html>

Точно так же вы можете использовать свойство CSS border-spacing, чтобы применить интервал между границами соседних ячеек таблицы, как атрибут cellspacing. Тем не менее, для работы с интервалом между границами значение свойства «border-collapse» должно быть отдельным, что является значением по умолчанию.

table {
  border-collapse: separate;
  border-spacing: 10px;
  /* Apply cell spacing */
}

table,
th,
td {
  border: 1px solid #666;
}

table th,
table td {
  padding: 5px;
  /* Apply cell padding */
}
<!DOCTYPE html>
<html lang = "en">
<head>

  <meta charset = "utf-8">
  <title>Set Cellspacing in CSS</title>

</head>

<body>

  <table>
    <thead>
      <tr>
        <th>Row</th>
        <th>First Name</th>
        <th>Last Name</th>
        <th>Email</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>1</td>
        <td>Clark</td>
        <td>Kent</td>
        <td>[email protected]</td>
      </tr>
      <tr>
        <td>2</td>
        <td>Peter</td>
        <td>Parker</td>
        <td>[email protected]</td>
      </tr>
      <tr>
        <td>3</td>
        <td>John</td>
        <td>Rambo</td>
        <td>[email protected]</td>
      </tr>
    </tbody>
  </table>

</body>
</html>

Я предлагаю это, и это повлияет на все ячейки для конкретной таблицы.

table.tbl_classname td, th {
    padding: 5px 5px 5px 4px;
 }

Вы можете проверить приведенный ниже код, просто создайте index.html и запустите его.

<!DOCTYPE html>
<html>

<head>
  <style>
    table {
      border-spacing: 10px;
    }
    
    td {
      padding: 10px;
    }
  </style>
</head>

<body>
  <table cellspacing = "0" cellpadding = "0">
    <th>Col 1</th>
    <th>Col 2</th>
    <th>Col 3</th>
    <tr>
      <td>1</td>
      <td>2</td>
      <td>3</td>
    </tr>
  </table>
</body>

</html>

ВЫХОД :

Это сработало для меня:

table {border-collapse: collapse}
table th, table td {padding: 0}

Предположим, мы хотим назначить нашей таблице «заполнение ячеек» 10 пикселей и 15 пикселей «пространство ячеек» совместимым с HTML5 способом. Я покажу здесь два метода, дающих действительно похожие результаты.

Два разных набора свойств CSS применяются к одной и той же разметке HTML для таблицы, но с противоположными концепциями:

  • первый использует значение по умолчанию для border-collapse (separate) и использует border-spacing для определения расстояния между ячейками,

  • второй переключает border-collapse на collapse и использует свойство border в качестве пространства ячеек.

В обоих случаях добавление ячеек достигается путем назначения padding:10px на td, и в обоих случаях назначенный им background-color используется только для более ясной демонстрации.

Первый способ:

table{border-spacing:15px}
td{background-color:#00eb55;padding:10px;border:0}
<table>
<tr>
<td>Header 1</td><td>Header 2</td>
</tr>
<tr>
<td>1</td><td>2</td>
</tr>
<tr>
<td>3</td><td>4</td>
</tr>
</table>

Второй способ:

table{border-collapse:collapse}
td{background-color:#00eb55;padding:10px;border:15px solid #fff}
<table>
<tr>
<td>Header 1</td><td>Header 2</td>
</tr>
<tr>
<td>1</td><td>2</td>
</tr>
<tr>
<td>3</td><td>4</td>
</tr>
</table>

Другие вопросы по теме