FAQ con Gradiente Animado
Un componente FAQ moderno con fondos de gradiente animados, transiciones suaves y elementos interactivos
Diseño Responsivo
Sí
Soporte para Modo Oscuro
No
líneas
197
Compatibilidad del Navegador
No
Vista Previa en Vivo
Interactúa con el componente sin salir de la página.
Componente FAQ con Gradiente Animado
Un componente FAQ moderno y visualmente atractivo con fondos de gradiente animados y transiciones suaves.
Características
- Fondos de Gradiente Animados: Fondos de gradiente que cambian suavemente creando un efecto visual dinámico
- Transiciones Suaves: Animaciones elegantes para expandir y contraer elementos del FAQ
- Diseño Responsive: Diseño completamente responsive que funciona en todos los tamaños de dispositivo
- Accesible: Atributos ARIA adecuados para lectores de pantalla y navegación por teclado
- UI Moderna: Diseño limpio y contemporáneo con efectos hover sutiles
- Ligero: Código optimizado con JavaScript mínimo
Estructura HTML
<div class="gradient-faq-container">
<div class="faq-header">
<h2 class="faq-title">Preguntas Frecuentes</h2>
<p class="faq-subtitle">Encuentra respuestas a preguntas comunes</p>
</div>
<div class="faq-accordion">
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Qué hace especial a este componente FAQ?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Este FAQ presenta fondos de gradiente animados, micro-interacciones suaves y un diseño moderno con animaciones CSS.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Cómo funcionan las animaciones de gradiente?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Las animaciones de gradiente utilizan fotogramas clave CSS con transiciones de posición de fondo para crear un efecto fluido.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Es este diseño responsive?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Sí, el diseño es completamente responsive y se adapta bellamente a todos los tamaños de pantalla.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Qué navegadores lo soportan?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Los navegadores modernos incluyendo Chrome, Firefox, Safari y Edge soportan todas las características.</p>
</div>
</div>
</div>
</div>Estilos CSS
.gradient-faq-container {
max-width: 800px;
margin: 2rem auto;
padding: 2rem;
font-family: 'Inter', sans-serif;
}
.faq-header {
text-align: center;
margin-bottom: 2rem;
}
.faq-title {
font-size: 2.5rem;
margin-bottom: 0.5rem;
background: linear-gradient(45deg, #667eea, #764ba2);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.faq-subtitle {
color: #6b7280;
font-size: 1.1rem;
}
.faq-accordion {
display: flex;
flex-direction: column;
gap: 1rem;
}
.faq-item {
border-radius: 12px;
overflow: hidden;
background: linear-gradient(45deg, #667eea, #764ba2);
background-size: 300% 300%;
animation: gradientShift 8s ease infinite;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.faq-item:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.faq-question {
width: 100%;
padding: 1.5rem;
background: rgba(255, 255, 255, 0.95);
border: none;
text-align: left;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1.1rem;
font-weight: 600;
color: #1f2937;
transition: background 0.3s ease;
}
.faq-question:hover {
background: rgba(255, 255, 255, 1);
}
.question-icon {
font-size: 1.5rem;
transition: transform 0.3s ease;
}
.faq-item.active .question-icon {
transform: rotate(45deg);
}
.faq-answer {
max-height: 0;
overflow: hidden;
background: rgba(255, 255, 255, 0.9);
transition: max-height 0.3s ease, padding 0.3s ease;
}
.faq-item.active .faq-answer {
max-height: 200px;
padding: 0 1.5rem 1.5rem;
}
.faq-answer p {
margin: 0;
color: #4b5563;
line-height: 1.6;
}
@keyframes gradientShift {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@media (max-width: 768px) {
.gradient-faq-container {
padding: 1rem;
}
.faq-title {
font-size: 2rem;
}
.faq-question {
padding: 1.25rem;
font-size: 1rem;
}
.faq-item.active .faq-answer {
padding: 0 1.25rem 1.25rem;
}
}Funcionalidad JavaScript
document.addEventListener('DOMContentLoaded', function() {
const faqItems = document.querySelectorAll('.faq-item');
faqItems.forEach(item => {
const question = item.querySelector('.faq-question');
question.addEventListener('click', () => {
const isActive = item.classList.contains('active');
// Close all other items
faqItems.forEach(otherItem => {
if (otherItem !== item) {
otherItem.classList.remove('active');
}
});
// Toggle current item
if (isActive) {
item.classList.remove('active');
} else {
item.classList.add('active');
}
});
});
});Guía de Implementación
- Copia la estructura HTML en tu proyecto
- Agrega los estilos CSS a tu hoja de estilos
- Incluye el código JavaScript en tu archivo de script
- Personaliza los colores, fuentes y animaciones para que coincidan con tu marca
- Agrega tus propias preguntas y respuestas del FAQ
Este componente FAQ presenta un hermoso fondo de gradiente animado que cambia de colores suavemente, creando un efecto llamativo. La funcionalidad de acordeón permite a los usuarios expandir y contraer preguntas según sea necesario, y el diseño es completamente responsive para todos los tamaños de dispositivo.
HTML
48
líneas
CSS
124
líneas
JavaScript
25
líneas
<div class="gradient-faq-container">
<div class="faq-header">
<h2 class="faq-title">Preguntas Frecuentes</h2>
<p class="faq-subtitle">Encuentra respuestas a preguntas comunes</p>
</div>
<div class="faq-accordion">
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Qué hace especial a este componente FAQ?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Este FAQ presenta fondos de gradiente animados, micro-interacciones suaves y un diseño moderno con animaciones CSS.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Cómo funcionan las animaciones de gradiente?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Las animaciones de gradiente utilizan fotogramas clave CSS con transiciones de posición de fondo para crear un efecto fluido.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Es este diseño responsive?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Sí, el diseño es completamente responsive y se adapta bellamente a todos los tamaños de pantalla.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" aria-expanded="false">
<span class="question-text">¿Qué navegadores lo soportan?</span>
<span class="question-icon">+</span>
</button>
<div class="faq-answer">
<p>Los navegadores modernos incluyendo Chrome, Firefox, Safari y Edge soportan todas las características.</p>
</div>
</div>
</div>
</div>