W3docs

Propiedad CSS border-spacing

Border-spacing es una propiedad CSS que establece la distancia entre celdas adyacentes. Encuentra ejemplos aquí.

La propiedad CSS border-spacing establece la distancia entre los bordes de las celdas de tabla vecinas. Es el equivalente CSS del antiguo atributo HTML cellspacing, pero con mayor control: puedes definir los espacios horizontal y vertical de forma independiente.

Esta página explica qué hace border-spacing, cuándo surte efecto, los valores que acepta y varios ejemplos ejecutables.

Cuándo se aplica border-spacing

border-spacing solo funciona en el modelo de bordes separados, es decir, cuando border-collapse está configurado como separate (el valor predeterminado). En este modelo cada celda conserva su propio borde, por lo que existe un espacio real entre celdas que la propiedad puede controlar.

Si cambias al modelo de colapso (border-collapse: collapse), los bordes adyacentes se fusionan en un único borde compartido y no hay espacio que dimensionar, por lo que border-spacing se ignora. Si el espaciado parece no hacer nada, comprueba que border-collapse no esté establecido en collapse.

Valores y sintaxis

border-spacing acepta uno o dos valores de longitud:

  • Un valor — aplica el mismo espacio horizontal y verticalmente (por ejemplo border-spacing: 20px).
  • Dos valores — el primero establece el espaciado horizontal y el segundo el vertical (por ejemplo border-spacing: 20px 30px).

Las longitudes pueden usar cualquier unidad CSS (px, em, rem, etc.). No se permiten valores negativos y no se aceptan porcentajes.

Valor inicial0
Se aplica aLos elementos table y de tabla en línea.
HeredadoNo
AnimableSí. El valor del espaciado es animable.
VersiónCSS2
Sintaxis DOMobject.style.borderSpacing = "10px";

Sintaxis

Sintaxis de la propiedad CSS border-spacing

border-spacing: length | initial | inherit;

Ejemplo de la propiedad border-spacing con un valor:

Ejemplo de la propiedad CSS border-spacing con un solo valor

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table,
      td,
      th {
        border: 1px solid black;
      }
      .table {
        border-collapse: separate;
        border-spacing: 20px;
      }
    </style>
  </head>
  <body>
    <h2>Example of border-spacing: 20px;</h2>
    <table class="table">
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
      </tr>
      <tr>
        <td>Mary</td>
        <td>Peterson</td>
      </tr>
      <tr>
        <td>Maxim</td>
        <td>Brown</td>
      </tr>
    </table>
  </body>
</html>

Resultado

Una tabla de dos columnas renderizada con 20px de espacio alrededor de cada celda

A continuación se muestra otro ejemplo que usa dos valores. El primero establece el espaciado horizontal y el segundo el vertical, de modo que el espacio entre columnas difiere del espacio entre filas.

Ejemplo de la propiedad border-spacing con dos valores:

Ejemplo de la propiedad CSS border-spacing con dos valores

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        border-spacing: 20px 30px;
      }
    </style>
  </head>
  <body>
    <table border="1">
      <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>

Ahora vamos a aplicar algo de estilo al ejemplo de tabla anterior. Por ejemplo, añadamos background-color, que establece el color de fondo de un elemento.

Ejemplo del uso de la propiedad border-spacing con la propiedad background-color:

Ejemplo de la propiedad CSS border-spacing con la propiedad background-color

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table,
      td,
      th {
        border: 1px solid black;
      }
      .table {
        border-collapse: separate;
        border-spacing: 20px;
        background-color: #eee;
      }
    </style>
  </head>
  <body>
    <h1>Example of border-spacing: 20px;</h1>
    <table class="table">
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
      </tr>
      <tr>
        <td>Mary</td>
        <td>Peterson</td>
      </tr>
      <tr>
        <td>Maxim</td>
        <td>Brown</td>
      </tr>
    </table>
  </body>
</html>

Valores

ValorDescripciónPruébalo
lengthEspecifica la distancia entre celdas en px, em, etc.Pruébalo »
initialEstablece esta propiedad en su valor predeterminado.Pruébalo »
inheritHereda esta propiedad de su elemento padre.

Propiedades relacionadas

  • border-collapse — decide si los bordes de las celdas están separados (para que border-spacing funcione) o colapsados.
  • empty-cells — controla si se dibujan bordes y fondos alrededor de las celdas vacías en el modelo separado.
  • border-color — establece el color de los bordes de celda que border-spacing separa.
  • HTML tables — el marcado al que se aplican estos estilos.

Práctica

Práctica
¿Cuál es la función de la propiedad 'border-spacing' en CSS?
¿Cuál es la función de la propiedad 'border-spacing' en CSS?
Was this page helpful?