Tablas de Tailwind CSS

Tailwind CSS proporciona un conjunto de clases de utilidad convenientes para crear y personalizar tablas.

Con estas clases de utilidad, puedes controlar fácilmente el estilo de las tablas, incluidos bordes, espaciado, alineación, estilos de fuente, etc.

A continuación, detallaremos cómo usar Tailwind CSS para crear y personalizar tablas.


Estilos básicos de tabla

Tailwind CSS proporciona algunas clases básicas para controlar la apariencia y el diseño de las tablas. Las clases de utilidad comunes incluyen table-auto y table-fixed, que se utilizan para configurar el diseño de la tabla.

  • table-auto: diseño predeterminado, el ancho de las columnas de la tabla se determina automáticamente según el contenido.
  • table-fixed: ancho de columna fijo. El ancho de todas las columnas se divide equitativamente según el ancho total de la tabla, adecuado para tablas con ancho de columna uniforme.

Usar table-auto permite que la tabla ajuste automáticamente el ancho de las columnas para adaptarse al contenido de las celdas.

Ejemplo

<table class="table-auto">
  <thead>
    <tr>
      <th>Song</th>
      <th>Artist</th>
      <th>Year</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>The Sliding Mr. Bones (Next Stop, Pottersville)</td>
      <td>Malcolm Lockyer</td>
      <td>1961</td>
    </tr>
    <tr>
      <td>Witchy Woman</td>
      <td>The Eagles</td>
      <td>1972</td>
    </tr>
    <tr>
      <td>Shining Star</td>
      <td>Earth, Wind, and Fire</td>
      <td>1975</td>
    </tr>
  </tbody>
</table>

Pruébalo »

Usar table-fixed permite que la tabla ignore el contenido y utilice un ancho fijo para las columnas. El ancho de la primera fila establecerá el ancho de las columnas para toda la tabla.

Ejemplo

<table class="table-fixed">
  <thead>
    <tr>
      <th>Song</th>
      <th>Artist</th>
      <th>Year</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>The Sliding Mr. Bones (Next Stop, Pottersville)</td>
      <td>Malcolm Lockyer</td>
      <td>1961</td>
    </tr>
    <tr>
      <td>Witchy Woman</td>
      <td>The Eagles</td>
      <td>1972</td>
    </tr>
    <tr>
      <td>Shining Star</td>
      <td>Earth, Wind, and Fire</td>
      <td>1975</td>
    </tr>
  </tbody>
</table>

Pruébalo »

Bordes y espaciado

Tailwind proporciona muchas clases de utilidad para controlar los bordes, el padding y el margen, y otros detalles de diseño de la tabla.

Puedes usar clases como border, border-collapse, border-spacing para controlar el estilo de los bordes de la tabla.

  • border: agrega un borde a la tabla.
  • border-collapse: controla si los bordes de las celdas de la tabla se fusionan.
  • border-spacing: establece el espaciado entre celdas.

Ejemplo

<table class="table-auto border-collapse w-full">
  <thead>
    <tr>
      <th class="border px-4 py-2">Header 1</th>
      <th class="border px-4 py-2">Header 2</th>
      <th class="border px-4 py-2">Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td class="border px-4 py-2">Row 1, Col 1</td>
      <td class="border px-4 py-2">Row 1, Col 2</td>
      <td class="border px-4 py-2">Row 1, Col 3</td>
    </tr>
    <tr>
      <td class="border px-4 py-2">Row 2, Col 1</td>
      <td class="border px-4 py-2">Row 2, Col 2</td>
      <td class="border px-4 py-2">Row 2, Col 3</td>
    </tr>
  </tbody>
</table>

Pruébalo »

Padding y margen

Puedes usar las clases px-* y py-* para establecer el padding de las celdas de la tabla, y las clases m-* y p-* para establecer el margen de la tabla.

Ejemplo

<!-- Establecer el padding de las celdas de la tabla -->
<table class="table-auto w-full border-collapse">
  <thead>
    <tr>
      <th class="border px-6 py-4">Header 1</th>
      <th class="border px-6 py-4">Header 2</th>
      <th class="border px-6 py-4">Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td class="border px-6 py-4">Row 1, Col 1</td>
      <td class="border px-6 py-4">Row 1, Col 2</td>
      <td class="border px-6 py-4">Row 1, Col 3</td>
    </tr>
  </tbody>
</table>

<!-- Establecer el margen de la tabla -->
<table class="table-auto w-full border-collapse mt-8">
  <thead>
    <tr>
      <th class="border px-4 py-2">Header 1</th>
      <th class="border px-4 py-2">Header 2</th>
      <th class="border px-4 py-2">Header 3</th>
    </tr>
  </thead>
</table>

Pruébalo »

Alineación y estilos de texto

Tailwind proporciona algunas clases para controlar la alineación y el estilo de fuente del contenido de las celdas de la tabla, como:

  • text-left, text-center, text-right: controla la alineación del texto.
  • font-semibold, font-bold: controla el grosor de la fuente.
  • uppercase, lowercase, capitalize: controla mayúsculas y minúsculas del texto.

Ejemplo

<!-- Establecer alineación centrada del texto -->
<table class="table-auto border-collapse w-full">
  <thead>
    <tr>
      <th class="border px-4 py-2 text-center font-bold">Header 1</th>
      <th class="border px-4 py-2 text-center font-bold">Header 2</th>
      <th class="border px-4 py-2 text-center font-bold">Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td class="border px-4 py-2 text-center">Row 1, Col 1</td>
      <td class="border px-4 py-2 text-center">Row 1, Col 2</td>
      <td class="border px-4 py-2 text-center">Row 1, Col 3</td>
    </tr>
  </tbody>
</table>

Pruébalo »

Combinar celdas

Tailwind CSS admite la configuración de celdas combinadas mediante atributos HTML, comocolspanyrowspan。

Ejemplo

<!-- Combinar columnas -->
<table class="table-auto w-full border-collapse">
  <thead>
    <tr>
      <th class="border px-4 py-2" colspan="2">Header 1 & 2</th>
     <th class="border px-4 py-2">Header 3</th>
   </tr>
 </thead>
 <tbody>
   <tr>
     <td class="border px-4 py-2" colspan="2">Row 1, Col 1 & 2</td>
     <td class="border px-4 py-2">Row 1, Col 3</td>
   </tr>
 </tbody>
</table>

Pruébalo »

Tabla responsiva

También puedes usar las clases de diseño responsivo de Tailwind CSS para controlar el diseño de la tabla en diferentes tamaños de pantalla.

Por ejemplo, usa los prefijos sm:, md:, lg: para configurar la visualización en diferentes pantallas.

Ejemplo

<!-- Ocultar columnas en pantallas pequeñas -->
<table class="table-auto w-full border-collapse">
  <thead>
    <tr>
      <th class="border px-4 py-2">Header 1</th>
      <th class="border px-4 py-2 hidden md:table-cell">Header 2</th>
      <th class="border px-4 py-2">Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td class="border px-4 py-2">Row 1, Col 1</td>
      <td class="border px-4 py-2 hidden md:table-cell">Row 1, Col 2</td>
      <td class="border px-4 py-2">Row 1, Col 3</td>
    </tr>
  </tbody>
</table>

Pruébalo »

Título de tabla

Usacaption-toppara posicionar el elemento de título en la parte superior de la tabla.

Ejemplo

<table>
  <caption class="caption-top">
    Table 3.1: Professional wrestlers and their signature moves.
  </caption>
  <thead>
    <tr>
      <th>Wrestler</th>
      <th>Signature Move(s)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>"Stone Cold" Steve Austin</td>
      <td>Stone Cold Stunner, Lou Thesz Press</td>
    </tr>
    <tr>
      <td>Bret "The Hitman" Hart</td>
      <td >The Sharpshooter</td>
    </tr>
    <tr>
      <td>Razor Ramon</td>
      <td>Razor's Edge, Fallaway Slam</td>
    </tr>
  </tbody>
</table>

Pruébalo »

Usacaption-bottompara posicionar el elemento de título en la parte inferior de la tabla.

Ejemplo

<table>
  <caption class="caption-bottom">
    Table 3.1: Professional wrestlers and their signature moves.
  </caption>
  <thead>
    <tr>
      <th>Wrestler</th>
      <th>Signature Move(s)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>"Stone Cold" Steve Austin</td>
      <td>Stone Cold Stunner, Lou Thesz Press</td>
    </tr>
    <tr>
      <td>Bret "The Hitman" Hart</td>
      <td >The Sharpshooter</td>
    </tr>
    <tr>
      <td>Razor Ramon</td>
      <td>Razor's Edge, Fallaway Slam</td>
    </tr>
  </tbody>
</table>

Pruébalo »
Otras extensiones