Перейти к содержимому

Свойство CSS border-collapse

Свойство CSS border-collapse определяет, должны ли границы таблицы быть разделены или объединены в одну.

При объединении ячеек соседние границы сливаются в одну. При разделении ячеек расстояние между ними задаётся свойством border-spacing.

Значение по умолчаниюseparate
Применяется кЭлементы table и inline-table.
НаследуетсяНет.
АнимируетсяНет.
ВерсияCSS2
Синтаксис DOMobject.style.borderCollapse = "collapse";

Синтаксис

Синтаксис свойства CSS border-collapse

css
border-collapse: separate | collapse | initial | inherit | unset;

Пример использования свойства border-collapse:

Пример использования свойства CSS border-collapse со значением collapse

html
<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
    <style>
      table {
        border-collapse: collapse;
      }
      table,
      th,
      td {
        border: 1px solid #cccccc;
      }
      thead {
        background-color: #1c87c9;
        color: #ffffff;
      }
      th {
        height: 50px;
        text-align: center;
      }
      td {
        padding: 3px 10px;
      }
    </style>
  </head>
  <body>
    <h2>Border-collapse property example</h2>
    <p>Here the "collapse" value is set for the border-collapse property.</p>
    <table>
      <thead>
        <tr>
          <th>Heading</th>
          <th>Heading</th>
          <th>Heading</th>
          <th>Heading</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
        </tr>
        <tr>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
        </tr>
      </tbody>
    </table>
  </body>
</html>

Результат

Свойство CSS border-collapse

В примере ниже видно, что при использовании border-collapse: separate свойство border-spacing задаёт расстояние между ячейками. При использовании border-collapse: collapse свойство border-spacing не влияет на результат.

Пример использования свойства border-collapse со значениями "separate" и "collapse":

Пример использования свойства CSS border-collapse со значением separate

html
<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
    <style>
      table,
      td,
      th {
        border: 1px solid #ccc;
      }
      thead {
        background-color: #1c87c9;
        color: #ffffff;
      }
      th {
        height: 30px;
        text-align: center;
      }
      td {
        padding: 3px 10px;
      }
      #table1 {
        border-collapse: separate;
        border-spacing: 10px;
      }
      #table2 {
        border-collapse: collapse;
        border-spacing: 10px;
      }
    </style>
  </head>
  <body>
    <h1>Border-collapse property example</h1>
    <h2>border-collapse: separate;</h2>
    <p>When using the "border-collapse: separate", the border-spacing property can be used to define the space between the cells.</p>
    <table id="table1">
      <thead>
        <tr>
          <th>Heading</th>
          <th>Heading</th>
          <th>Heading</th>
          <th>Heading</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
        </tr>
        <tr>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
        </tr>
      </tbody>
    </table>
    <h2>border-collapse: collapse;</h2>
    <p>When using the "border-collapse: collapse", the border-spacing property has no effect.</p>
    <table id="table2">
      <thead>
        <tr>
          <th>Heading</th>
          <th>Heading</th>
          <th>Heading</th>
          <th>Heading</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
        </tr>
        <tr>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
          <td>Some text</td>
        </tr>
      </tbody>
    </table>
  </body>
</html>

Значения

ЗначениеОписание
separateКаждая ячейка имеет свои собственные границы. Это значение по умолчанию. Свойство border-spacing управляет расстоянием между ячейками.
collapseЯчейки разделяют свои границы. Соседние границы сливаются в одну.
initialУстанавливает для свойства значение по умолчанию.
inheritНаследует свойство от родительского элемента.
unsetСбрасывает свойство к его начальному значению.

Практика

Что делает свойство CSS 'border-collapse'?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.