Tailwind CSS Conceptos básicos

Tailwind CSS es un framework CSS altamente personalizable que proporciona un conjunto de clases de utilidad predefinidas, permitiendo a los desarrolladores construir y diseñar interfaces de usuario rápidamente.

A continuación se presentan algunos conceptos básicos y usos de Tailwind CSS:

ConceptoDescripción
Clases de utilidad (Utility-First)El núcleo de Tailwind CSS son las clases de utilidad, que se utilizan para establecer estilos rápidamente y se aplican directamente a los elementos HTML.
Prefijos responsivosUsa, comosm:, md:, lg:, xl:prefijos para controlar los estilos en diferentes tamaños de pantalla.
Colores y tamañosProporciona colores predefinidos (comobg-red-500) y tamaños (comotext-lg) para establecer estilos rápidamente.
EspaciadoA través dep-, m-, pt-, pr-y clases similares, se controlan el relleno (padding) y el margen.
Diseño (Layout)Proporcionaflex, grid, floaty clases similares para implementar el control del diseño.
Estilos de textoIncluye clases de utilidad para alineación de texto, estilo de fuente, color y transformación, comotext-center, font-bold, uppercase。
Fondo y bordesProporciona clases de utilidad para color de fondo, imagen de fondo, estilo de borde y color, comobg-gray-200, border-red-500。
Hover y estadosUsahover:, focus:, active:prefijos como estos para definir estilos para estados interactivos.
Dimensiones (Sizing)Usaw-, h-clases para controlar el ancho y la altura, comow-64, h-screen。
VisibilidadUsavisible, invisibley clases similares para controlar la visibilidad de los elementos.
Sistema de rejilla (Grid System)Proporciona clases de utilidad basadas en CSS Grid, comogrid, grid-cols-3, col-span-2, para implementar diseños de rejilla responsivos.
Configuración personalizadaA través detailwind.config.jspersonaliza colores, espaciados, tamaños de fuente, etc., para adaptarse a las necesidades del proyecto.
Modo oscuro (Dark Mode)Admite el modo oscuro, mediantedark:prefijos para establecer estilos, y se puede habilitar el modo oscuro en la configuración.
Complementos (Plugins)Extiende funcionalidades mediante complementos, añadiendo clases de utilidad o funciones personalizadas.
DirectivasEn archivos CSS se usan@tailwinddirectivas para introducir estilos de diferentes capas, comobase, components, utilities。

Explicación detallada de conceptos

1. Clases de utilidad (Utility-First)

Las clases de utilidad de Tailwind permiten a los desarrolladores definir estilos rápidamente, sin necesidad de escribir CSS manualmente.

Ejemplo

<div class="text-center text-blue-500 font-bold">
  Tailwind Utility Classes
</div>

Pruébalo »

Análisis:

  • text-center: centrado.
  • text-blue-500: texto azul.
  • font-bold: fuente en negrita.

2. Prefijos responsivos

Establece estilos para diferentes tamaños de pantalla mediante prefijos.

Ejemplo

<div class="bg-red-500 sm:bg-green-500 md:bg-blue-500 lg:bg-yellow-500">
  Responsive Example
</div>

Pruébalo »

Análisis:

  • Por defecto: fondo rojo.
  • Pantalla pequeña (≥640px): fondo verde.
  • Pantalla mediana (≥768px): fondo azul.
  • Pantalla grande (≥1024px): fondo amarillo.

3. Colores y tamaños

Tailwind proporciona una amplia variedad de colores y tamaños predefinidos para una aplicación rápida.

Ejemplo

<p class="text-lg text-gray-600">
  Text with pre-defined size and color
</p>

Pruébalo »

Análisis:

  • text-lg: tamaño del texto.
  • text-gray-600: texto gris.

4. Espaciado

Establece el relleno y el margen de los elementos mediante las clases de utilidad de espaciado.

Ejemplo

<div class="p-4 m-8">
  Padding and Margin Example
</div>

Pruébalo »

Análisis:

  • p-4: relleno de 1rem.
  • m-8: margen de 2rem.

5. Diseño (Layout)

Las clases proporcionadas permiten implementar rápidamente diseños flexibles, como Flexbox y Grid.

Ejemplo

<div class="flex justify-between items-center">
  <div>Item 1</div>
  <div>Item 2</div>
</div>

Pruébalo »

Ejemplo de Grid:

Ejemplo

<div class="grid grid-cols-3 gap-4">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

Pruébalo »

6. Estilos de texto

Controla la alineación, el color, el tamaño y otros estilos del texto.

Ejemplo

<p class="text-center font-semibold text-red-500">
  Centered Bold Text
</p>

Pruébalo »

7. Fondo y bordes

Establece el color de fondo, las imágenes y los estilos de borde mediante clases de utilidad.

Ejemplo

<div class="bg-yellow-200 border border-gray-400">
  Background and Border Example
</div>

Pruébalo »

8. Hover y estados

Establece estilos de estado para elementos interactivos.

Ejemplo

<button class="bg-blue-500 hover:bg-blue-700 text-white">
  Hover Me
</button>

Pruébalo »

9. Dimensiones (Sizing)

Establece el ancho y la altura de los elementos.

Ejemplo

<div class="w-64 h-32 bg-gray-300">
  Width and Height
</div>

Pruébalo »

10. Visibilidad

Controla la visualización y ocultación de los elementos.

Ejemplo

<div class="invisible sm:visible">
  Visible only on small screens
</div>

Pruébalo »

11. Sistema de rejilla (Grid System)

Crea diseños de rejilla utilizando las clases de utilidad Grid de Tailwind.

Ejemplo

<div class="grid grid-cols-3 gap-2">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

Pruébalo »

12. Configuración personalizada

Personaliza el sistema de diseño mediante el archivo de configuración.

Ejemplo

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        primary: '#1D4ED8',
      },
    },
  },
}

Pruébalo »

13. Modo oscuro

Habilita el modo oscuro y define estilos.

Ejemplo

<div class="bg-white dark:bg-black text-black dark:text-white">
  Dark Mode Example
</div>

Pruébalo »

14. Complementos

Extiende las funcionalidades de Tailwind mediante complementos.

Ejemplo

// tailwind.config.js
const plugin = require('tailwindcss/plugin')
module.exports = {
  plugins: [
    plugin(function({ addUtilities }) {
      addUtilities({
        '.rotate-45': {
          transform: 'rotate(45deg)',
        },
      })
    }),
  ],
}

15. Directivas

Mediante@tailwinddirectivas se cargan las diferentes capas de Tailwind.

Ejemplo

@tailwind base;
@tailwind components;
@tailwind utilities;
Otras extensiones