Curso de tailwind CSS
En este módulo, exploraremos cómo crear componentes comunes de interfaz de usuario (UI) utilizando Tailwind CSS, como botones, formularios, tablas, listas, tarjetas, modales, alertas, notificaciones y cómo implementar tipografías personalizadas. Estos componentes son esenciales en cualquier sitio web o aplicación moderna, y con Tailwind CSS podemos diseñarlos rápida y fácilmente.
Botones personalizados
Tailwind permite crear botones personalizables con diferentes colores, tamaños y efectos. Los botones se construyen utilizando una combinación de clases para colores de fondo, relleno, borde, texto y más.
Botón primario básico:
1<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
2 Botón Primario
3</button>bg-blue-500: Fondo azul.hover:bg-blue-700: Cambia el color del fondo al pasar el ratón.text-white: Texto blanco.py-2 px-4: Añade padding vertical y horizontal.rounded: Bordes redondeados.
Botón secundario:
1<button class="bg-gray-200 hover:bg-gray-400 text-black font-bold py-2 px-4 rounded">
2 Botón Secundario
3</button>Referencia: Botones en Tailwind
Formularios estilizados
Los formularios son elementos clave en la mayoría de los sitios web. Tailwind te permite diseñar formularios completamente personalizados utilizando sus clases utilitarias.
Formulario básico:
1<form class="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4">
2 <div class="mb-4">
3 <label class="block text-gray-700 text-sm font-bold mb-2" for="username">
4 Nombre de usuario
5 </label>
6 <input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline" id="username" type="text" placeholder="Ingresa tu nombre de usuario">
7 </div>
8 <div class="mb-6">
9 <label class="block text-gray-700 text-sm font-bold mb-2" for="password">
10 Contraseña
11 </label>
12 <input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 mb-3 leading-tight focus:outline-none focus:shadow-outline" id="password" type="password" placeholder="********">
13 </div>
14 <div class="flex items-center justify-between">
15 <button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline" type="button">
16 Iniciar sesión
17 </button>
18 </div>
19</form>focus:outline-none: Elimina el borde predeterminado al enfocar el campo.focus:shadow-outline: Añade una sombra alrededor del campo enfocado.
Referencia: Estilos para formularios en Tailwind
Tablas y listas
Tailwind proporciona clases para crear tablas y listas personalizadas fácilmente, permitiendo una mejor legibilidad y organización.
Tabla básica:
1<table class="min-w-full bg-white">
2 <thead class="bg-gray-800 text-white">
3 <tr>
4 <th class="w-1/3 text-left py-3 px-4 uppercase font-semibold text-sm">Nombre</th>
5 <th class="w-1/3 text-left py-3 px-4 uppercase font-semibold text-sm">Apellido</th>
6 <th class="text-left py-3 px-4 uppercase font-semibold text-sm">Correo Electrónico</th>
7 </tr>
8 </thead>
9 <tbody class="text-gray-700">
10 <tr>
11 <td class="w-1/3 text-left py-3 px-4">Juan</td>
12 <td class="w-1/3 text-left py-3 px-4">Pérez</td>
13 <td class="text-left py-3 px-4">juan@example.com</td>
14 </tr>
15 <tr>
16 <td class="w-1/3 text-left py-3 px-4">Ana</td>
17 <td class="w-1/3 text-left py-3 px-4">García</td>
18 <td class="text-left py-3 px-4">ana@example.com</td>
19 </tr>
20 </tbody>
21</table>Lista básica:
1<ul class="list-disc pl-5 space-y-2">
2 <li>Elemento 1</li>
3 <li>Elemento 2</li>
4 <li>Elemento 3</li>
5</ul>list-disc: Añade puntos a cada elemento de la lista.pl-5: Padding a la izquierda para la lista.space-y-2: Espacio vertical entre los elementos.
Referencia: Tablas en Tailwind
Tarjetas y Modales
Tarjeta básica:
Las tarjetas son un componente común para mostrar información en bloques atractivos y organizados.
1<div class="max-w-sm rounded overflow-hidden shadow-lg">
2 <img class="object-cover w-full h-40" src="https://picsum.photos/seed/picsum/200/200" alt="Imagen">
3 <div class="px-6 py-4">
4 <div class="font-bold text-xl mb-2">Título de la Tarjeta</div>
5 <p class="text-gray-700 text-base">
6 Este es el contenido de la tarjeta.
7 </p>
8 </div>
9 <div class="px-6 pt-4 pb-2">
10 <span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#ejemplo</span>
11 </div>
12</div>max-w-sm: Limita el ancho de la tarjeta a un tamaño pequeño.shadow-lg: Añade una sombra grande alrededor de la tarjeta.
Modal básico:
Los modales son ventanas emergentes que muestran contenido temporal.
1<div class="fixed z-10 inset-0 overflow-y-auto">
2 <div class="flex items-center justify-center min-h-screen">
3 <div class="bg-white rounded-lg shadow-xl max-w-lg w-full p-6">
4 <h2 class="text-lg font-bold mb-4">Título del Modal</h2>
5 <p class="mb-4">Este es el contenido del modal.</p>
6 <div class="flex justify-end">
7 <button class="bg-blue-500 text-white py-2 px-4 rounded">Cerrar</button>
8 </div>
9 </div>
10 </div>
11</div>fixed: Hace que el modal esté fijo en la pantalla.max-w-lg: Define el ancho máximo del modal.
Referencia: Modales en Tailwind
Creación de alertas y notificaciones
Tailwind te permite crear alertas y notificaciones que llamen la atención del usuario.
Alerta de error:
1<div class="bg-red-500 text-white p-4 rounded">
2 <p>Error: Algo salió mal.</p>
3</div>Alerta de éxito:
1<div class="bg-green-500 text-white p-4 rounded flex items-center">
2 <svg class="w-6 h-6 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
3 <path d="M5 13l4 4L19 7"/>
4 </svg>
5 <p>¡Éxito! Acción completada.</p>
6</div>flex: Para alinear el icono y el texto en línea.bg-green-500: Fondo verde para una alerta de éxito.
Referencia: Alertas en Tailwind
Implementación de tipografías personalizadas
Tailwind CSS facilita la implementación de fuentes personalizadas, incluidas las fuentes de Google Fonts.
Paso 1: Importar Google Fonts
Primero, incluye Google Fonts en tu proyecto, ya sea añadiendo una etiqueta <link> en el archivo HTML o importando en tu archivo CSS.
Enlace de Google Fonts en HTML:
1<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
Paso 2: Configurar la fuente en Tailwind
En el archivo tailwind.config.js, añade la fuente personalizada en la propiedad fontFamily:
1module.exports = { 2 theme: { 3 extend: { 4 fontFamily: { 5 sans: ['Roboto', 'sans-serif'], 6 }, 7 }, 8 }, 9}
Paso 3: Usar la fuente en tu proyecto
Ahora puedes aplicar la fuente personalizada en cualquier parte de tu proyecto:
1<p class="font-sans">Este texto usa la fuente Roboto.</p>- Loading...