Curso de tailwind CSS

Tailwind CSS está diseñado para ser completamente responsivo desde el primer momento. Utiliza clases utilitarias y breakpoints para aplicar estilos específicos según el tamaño de la pantalla, lo que facilita el desarrollo de sitios web adaptativos. En este módulo, exploraremos cómo manejar el diseño responsivo utilizando Tailwind CSS.

Introducción a las consultas de medios en Tailwind

Las consultas de medios (o "media queries") permiten aplicar estilos CSS diferentes según el tamaño de la pantalla o la resolución del dispositivo. En Tailwind, las consultas de medios están integradas en su sistema de breakpoints, lo que significa que puedes agregar clases específicas para cada tamaño de pantalla directamente en el HTML sin escribir reglas CSS personalizadas.

Tailwind utiliza un sistema de breakpoints móviles primero (mobile-first), lo que significa que las clases se aplican primero en pantallas pequeñas (como móviles), y luego se pueden sobrescribir en pantallas más grandes mediante las clases responsivas.

Clases utilitarias responsivas (breakpoints)

Tailwind CSS define varios breakpoints predefinidos que puedes usar para aplicar estilos responsivos. Estos breakpoints se utilizan como prefijos para las clases CSS y determinan en qué tamaños de pantalla se aplican las reglas de estilo.

Los breakpoints predefinidos son:

BreakpointPrefijoTamaño mínimo
smsm:640px
mdmd:768px
lglg:1024px
xlxl:1280px
2xl2xl:1536px

Por ejemplo, si quieres aplicar una clase solo en pantallas medianas (md) o más grandes, usarías el prefijo md:. A continuación, se muestra cómo cambiar el color de fondo según el tamaño de pantalla:

Cambia el tamaño de la ventana para ver cómo cambia el color de fondo del div.

1<div class="bg-blue-500 sm:bg-green-500 md:bg-red-500 lg:bg-yellow-500">
2  Este div cambiará de color según el tamaño de la pantalla
3</div>
  • En pantallas menores de 640px, el fondo será azul (bg-blue-500).
  • En pantallas de 640px o más, será verde (sm:bg-green-500).
  • En pantallas de 768px o más, será rojo (md:bg-red-500).
  • En pantallas de 1024px o más, será amarillo (lg:bg-yellow-500).

Referencia: Documentación sobre los breakpoints en Tailwind

Ejemplos prácticos: Layout adaptativo para móviles y escritorio

Para entender mejor cómo aplicar un layout responsivo, veamos algunos ejemplos prácticos.

Ejemplo 1: Un layout simple con 1 columna en móviles y 2 columnas en pantallas grandes

Este layout mostrará un solo elemento en pantallas pequeñas, y dos columnas en pantallas grandes:

Cambia el tamaño de la ventana para ver cómo cambia el color de fondo del div.

1<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
2  <div class="bg-blue-500 p-4">Columna 1</div>
3  <div class="bg-green-500 p-4">Columna 2</div>
4</div>
  • En pantallas pequeñas (por debajo de 768px), se mostrará como una sola columna (grid-cols-1).
  • En pantallas medianas y más grandes (md:grid-cols-2), el contenido se organizará en dos columnas.
Ejemplo 2: Barra de navegación responsiva

Este ejemplo muestra una barra de navegación que se alinea verticalmente en pantallas pequeñas y horizontalmente en pantallas más grandes.

Cambia el tamaño de la ventana para ver cómo cambia el color de fondo del div.

1<nav class="flex flex-col sm:flex-row sm:justify-between bg-gray-800 p-4">
2  <a href="#" class="text-white mb-2 sm:mb-0">Inicio</a>
3  <a href="#" class="text-white mb-2 sm:mb-0">Servicios</a>
4  <a href="#" class="text-white">Contacto</a>
5</nav>
  • En pantallas pequeñas, los enlaces se apilarán verticalmente (flex-col).
  • En pantallas más grandes (sm:flex-row), los enlaces se alinearán en una fila horizontal y se justificarán de manera equitativa (sm:justify-between).

Referencia: Documentación sobre diseño responsivo

Diseño fluido con clases de contenedor y tamaños

Un aspecto clave del diseño responsivo es asegurarse de que el contenido sea fluido y se adapte bien a diferentes tamaños de pantalla. Tailwind proporciona la clase container para crear un contenedor centrado y fluido, además de utilidades para manejar el ancho y el margen.

  1. Clases de contenedor (container): La clase container ajusta automáticamente el ancho del contenedor según el tamaño de la pantalla, añadiendo márgenes horizontales automáticos para centrarlo.

    1<div class="container mx-auto p-4 bg-gray-200">
    2  Este es un contenedor responsivo
    3</div>
    • mx-auto asegura que el contenedor esté centrado horizontalmente.
    • Tailwind ajusta el ancho del contenedor según el tamaño de pantalla: en móviles será más pequeño, mientras que en pantallas más grandes será más ancho.
  2. Clases de tamaños (w-, max-w-): Puedes definir anchos específicos usando clases como w-full, w-1/2, o max-w-lg. Ejemplo:

1<div class="max-w-lg mx-auto bg-gray-200 p-4">
2  Este contenedor no será más ancho de 32 rem (512px) gracias a la clase `max-w-lg`.
3</div>
  1. Alturas y anchos completos (w-full, h-screen): Para hacer que un elemento ocupe todo el ancho o la altura de la pantalla, puedes usar w-full y h-screen:
1<div class="w-full h-screen bg-blue-500">
2  Este div ocupa toda la pantalla
3</div>

Referencia: Documentación sobre el contenedor en Tailwind

Conclusión

Con Tailwind CSS, es fácil crear layouts adaptativos y responsivos usando sus clases utilitarias y breakpoints. Los ejemplos prácticos demostraron cómo puedes diseñar sitios web que se vean bien en pantallas pequeñas y grandes sin necesidad de escribir media queries personalizadas. Además, el uso de contenedores fluidos y tamaños específicos ayuda a mantener el diseño flexible y adaptable.

  • Loading...
  • Usando tailwind, da formato al siguiente título h1 para que:

    • El tamaño del texto será de 14px (0.875rem) en pantallas por defecto y pantallas pequeñas.
    • En pantallas medianas (generalmente tablets y laptops pequeñas), el tamaño del texto aumentará extra grande 20px (1.25rem).
    • En pantallas grandes (generalmente laptops grandes y monitores pequeños), el tamaño del texto aumentará aún más, hasta 4xl = 36px (2.25rem).
    Loading...